ಸೇಲ್ಸ್‌ಫೋರ್ಸ್‌ನಲ್ಲಿ ಟ್ರಿಗ್ಗರ್‌ಗಳ ನಂತರ Vs ಮೊದಲು ಯಾವಾಗ ಬಳಸಬೇಕು?

ಪರಿಚಯ

ಪ್ರಚೋದಕವು DML ಈವೆಂಟ್‌ಗಳು ಸಂಭವಿಸುವ ಮೊದಲು ಅಥವಾ ನಂತರ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಅಪೆಕ್ಸ್ ಕೋಡ್ ಆಗಿದೆ. ಪ್ರಚೋದಕವು ತೆರೆಮರೆಯ ಒಂದು ವರ್ಗವಾಗಿದೆ ಮತ್ತು ಇದು ಹೊಸ, ಹೊಸ ನಕ್ಷೆ, ಹಳೆಯ ಮತ್ತು ಹಳೆಯ ನಕ್ಷೆಯಂತಹ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಹೊಂದಿದೆ. ಪ್ರಚೋದಕಗಳು ಇರಬೇಕು ಬೃಹತ್ತಾಗಿ. ಇದು ಒಂದೇ ದಾಖಲೆಗಳು ಮತ್ತು ಅದೇ ರೀತಿಯಲ್ಲಿ ಬಹು ದಾಖಲೆಗಳಿಗಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು.

ಸೇಲ್ಸ್‌ಫೋರ್ಸ್‌ನಲ್ಲಿ ಟ್ರಿಗ್ಗರ್‌ಗಳ ಪರಿಕಲ್ಪನೆ

ಪ್ರಚೋದಕವು ಅಪೆಕ್ಸ್ ಕಾಂಪೊನೆಂಟ್ ಆಗಿದ್ದು ಅದು ಯಾವುದೇ ವಸ್ತುವಿನ ಮೇಲೆ DML ಅನ್ನು ಫೈರ್ ಮಾಡಿದ ನಂತರ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ. ಈವೆಂಟ್‌ಗಳನ್ನು ಸೇರಿಸುವ ಮೊದಲು ಮತ್ತು ನವೀಕರಿಸುವ ಮೊದಲು ನಾವು ಖಾತೆಯ ವಸ್ತುವಿನ ಮೇಲೆ ಪ್ರಚೋದಕವನ್ನು ಬರೆದಿದ್ದೇವೆ ಎಂದು ಭಾವಿಸೋಣ. ನಂತರ ಬಳಕೆದಾರರು ಖಾತೆಯ ದಾಖಲೆಯನ್ನು ಸೇರಿಸಲು ಅಥವಾ ನವೀಕರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೆ, ಒದಗಿಸಿದ ಸ್ಥಿತಿಯನ್ನು ಆಧರಿಸಿ ಪ್ರಚೋದಕವು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಇದರರ್ಥ ಪ್ರಚೋದಕಗಳು ಆಬ್ಜೆಕ್ಟ್-ನಿರ್ದಿಷ್ಟ (ಒಂದು ಸಮಯದಲ್ಲಿ ಒಂದೇ ವಸ್ತುವಿನ ಮೇಲೆ ಪ್ರಚೋದಕವನ್ನು ರಚಿಸಬಹುದು) ಮತ್ತು ಈವೆಂಟ್-ಕೇಂದ್ರಿತವಾಗಿವೆ.

ಸೇಲ್ಸ್‌ಫೋರ್ಸ್‌ನಲ್ಲಿ ಟ್ರಿಗ್ಗರ್‌ಗಳ ವಿಧಗಳು

ನಾವು ಪ್ರಾಥಮಿಕವಾಗಿ ಸೇಲ್ಸ್‌ಫೋರ್ಸ್‌ನಲ್ಲಿ ಎರಡು ರೀತಿಯ ಟ್ರಿಗ್ಗರ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ

1. ಟ್ರಿಗ್ಗರ್ ಮೊದಲು

ದಾಖಲೆಯನ್ನು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಉಳಿಸುವ ಮೊದಲು ನಾವು ದಾಖಲೆಯ ಮೌಲ್ಯಗಳನ್ನು ನವೀಕರಿಸಲು ಅಥವಾ ಮೌಲ್ಯೀಕರಿಸಲು ಬಯಸಿದರೆ ಇದನ್ನು ಮುಖ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಇದರರ್ಥ ಮೊದಲ ದಾಖಲೆಯನ್ನು ಮೌಲ್ಯೀಕರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ ಅದನ್ನು ಟ್ರಿಗ್ಗರ್ ಮೊದಲು ಉಳಿಸಲಾಗುತ್ತದೆ. ಟ್ರಿಗ್ಗರ್ ಮೊದಲು ನಾವು ಯಾವುದೇ DML ಈವೆಂಟ್‌ಗಳನ್ನು ಬರೆಯುವ ಅಗತ್ಯವಿಲ್ಲ.

2. ಟ್ರಿಗರ್ ನಂತರ

ಬದಲಾವಣೆಯ ಕಾರಣದಿಂದಾಗಿ ಡೇಟಾವನ್ನು ಪ್ರತ್ಯೇಕ ವಸ್ತುವಾಗಿ ನವೀಕರಿಸಬೇಕಾದಾಗ ಈ ರೀತಿಯ ಪ್ರಚೋದಕವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

ಡೇಟಾಬೇಸ್‌ಗೆ ಅಂತಿಮ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದ ನಂತರ ಅವರು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತಾರೆ.

ಯಾವುದೇ ಆಬ್ಜೆಕ್ಟ್‌ನಲ್ಲಿ DML ಅನ್ನು ಒಮ್ಮೆ ಟ್ರಿಗ್ಗರ್ ಫೈರ್ ಮಾಡಿದ ನಂತರ, ನಂತರ ಟ್ರಿಗ್ಗರ್ ಅನ್ನು ಫೈರ್ ಮಾಡುವ ದಾಖಲೆಗಳು ಓದಲು ಮಾತ್ರ.

ಸೇಲ್ಸ್‌ಫೋರ್ಸ್‌ನಲ್ಲಿ ಮೊದಲು Vs ಆಫ್ಟರ್ ಟ್ರಿಗ್ಗರ್‌ಗಳನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕು?

ರೆಕಾರ್ಡ್ ಉಳಿಸುವ ಮೊದಲು ನಾವು ಡೇಟಾ ಅಥವಾ ದಾಖಲೆ ಮೌಲ್ಯಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಅಥವಾ ನವೀಕರಿಸಲು ಅಗತ್ಯವಿರುವಾಗ, ನಂತರ ಟ್ರಿಗ್ಗರ್ ಮೊದಲು ಬಳಸಿ. LastModifiedDate ಕ್ಷೇತ್ರದಂತಹ ಸಿಸ್ಟಮ್‌ನಿಂದ ಹೊಂದಿಸಲಾದ ಕ್ಷೇತ್ರ ಮೌಲ್ಯಗಳನ್ನು ನಾವು ಪ್ರವೇಶಿಸಲು ಬಯಸಿದಾಗ ಮತ್ತು ಇತರ ದಾಖಲೆಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಲು, ನಂತರ ಪ್ರಚೋದಕವನ್ನು ಬಳಸಿ.

ಡೇಟಾಬೇಸ್ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದ ದಾಖಲೆಗಳು ಟ್ರಿಗ್ಗರ್ ನಂತರ ಓದಲು ಮಾತ್ರ. ಆ ದಾಖಲೆಯು ಟ್ರಿಗ್ಗರ್‌ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದರೆ, ನಂತರ ಟ್ರಿಗ್ಗರ್‌ನಲ್ಲಿ ನಾವು ಯಾವುದೇ ಕ್ಷೇತ್ರ ಮೌಲ್ಯಗಳನ್ನು ಮಾರ್ಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಉದಾಹರಣೆಗೆ, ನಾವು ಆಫ್ಟರ್ ಅಪ್‌ಡೇಟ್ DML ಈವೆಂಟ್‌ನೊಂದಿಗೆ ಖಾತೆಯ ಆಬ್ಜೆಕ್ಟ್‌ನಲ್ಲಿ ಟ್ರಿಗ್ಗರ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ ಮತ್ತು ನಾವು ಖಾತೆಯ ವಸ್ತುವಿನ ಮೇಲೆ ಕ್ಷೇತ್ರ ಮೌಲ್ಯವನ್ನು ನವೀಕರಿಸಲು ಬಯಸುತ್ತೇವೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಬಳಕೆದಾರರಿಗೆ ಕ್ಷೇತ್ರ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಅದು ಓದಲು-ಮಾತ್ರ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, ಈ ಸನ್ನಿವೇಶದಲ್ಲಿ ಆಫ್ಟರ್ ಟ್ರಿಗ್ಗರ್ ಬದಲಿಗೆ ಬಿಫೋರ್ ಟ್ರಿಗ್ಗರ್ ಅನ್ನು ಬಳಸಿ.

ಉದಾಹರಣೆಗಳು

ಉದಾಹರಣೆಗೆ 1

ಸಂಪರ್ಕದಲ್ಲಿ ContactDeletion ಅನ್ನು ಟ್ರಿಗರ್ ಮಾಡಿ (ಅಳಿಸುವ ಮೊದಲು) { //Trigger.old ಗಾಗಿ ಅಳಿಸಲಾಗುತ್ತಿರುವ ಸಂಪರ್ಕಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿದೆ(ಸಂಪರ್ಕ cc : Trigger.old){ if(cc.AccountId != null){ cc.addError('ನೀವು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಸಂಬಂಧಿತ ಖಾತೆಯನ್ನು ಹೊಂದಿರುವ ಸಂಪರ್ಕ'); } } }

 

ಉದಾಹರಣೆಗೆ 2

ಖಾತೆಯಲ್ಲಿ AccOppTrigger ಅನ್ನು ಪ್ರಚೋದಿಸಿ (ಸೇರಿಸುವಿಕೆಯ ನಂತರ) {ಪಟ್ಟಿ oppRec = ಹೊಸ ಪಟ್ಟಿ(); for(Account acc : Trigger.new){ if(acc.Industry == 'Banking'){ Opportunity opp = ಹೊಸ ಅವಕಾಶ(ಹೆಸರು = acc.Name, StageName = 'Prospecting', AccountId = acc.Id, CloseDate = ದಿನಾಂಕ. ಇಂದು().addDays(15)); oppRec.add(opp); } } if(!oppRec.isEmpty()){oppRec ಸೇರಿಸಿ; } }

 

ಪ್ರತಿಕ್ರಿಯಿಸುವಾಗ

ಸ್ಪ್ಯಾಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಈ ಸೈಟ್ ಅಕಿಸ್ಸೆಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ನಿಮ್ಮ ಕಾಮೆಂಟ್ ಡೇಟಾವನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ತಿಳಿಯಿರಿ.