Announcement:
wanna exchange links? contact me at sapchatroom@gmail.com.
Posted by
Admin at
Hi All, I have created BDC for CN72 to generate Versionkey. i trying to validate that if version key created once in month then it should not allow to create version key for same project in the same month.Please check my code and help me how to do this. INITIALIZATION. SELECT * FROM PRPS INTO TABLE IT_PRPS WHERE ZZOCPS IN ('OCPR2','OCPR3'). IF NOT IT_PRPS IS INITIAL. SELECT * FROM PROJ INTO TABLE IT_PROJ FOR ALL ENTRIES IN IT_PRPS WHERE PSPID = IT_PRPS-POSID. *Get Version Key SELECT * FROM VSKOPF INTO TABLE IT_VSKOPF FOR ALL ENTRIES IN IT_PROJ WHERE OBJNR_PD = IT_PROJ-OBJNR. SELECT * FROM JEST INTO TABLE IT_JEST FOR ALL ENTRIES IN IT_PROJ WHERE OBJNR = IT_PROJ-OBJNR AND STAT = 'I0002'. LOOP AT IT_PRPS INTO WA_PRPS. CLEAR: WA_PROJ, WA_JEST. READ TABLE IT_PROJ INTO WA_PROJ WITH KEY PSPID = WA_PRPS-POSID. IF SY-SUBRC EQ 0. READ TABLE IT_JEST INTO WA_JEST WITH KEY OBJNR = WA_PROJ-OBJNR. IF SY-SUBRC EQ 0. CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT' EXPORTING INPUT = WA_PRPS-POSID IMPORTING OUTPUT = WA_PRPS-POSID. P_PROJN-SIGN = 'I'. P_PROJN-OPTION = 'EQ'. P_PROJN-LOW = WA_PRPS-POSID. APPEND P_PROJN TO P_PROJN[]. CLEAR P_PROJN. ENDIF. ENDIF. ENDLOOP. ENDIF. *Start-Of-Selection START-OF-SELECTION. LOOP AT P_PROJN. *Move proj to String CLEAR: PSPID0, PSPID1, PSPID2, V_FLEN, V_BLEN. CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT' EXPORTING INPUT = P_PROJN-LOW IMPORTING OUTPUT = P_PROJN-LOW. . PSPID0 = P_PROJN-LOW. *Get Proj After '-' SPLIT PSPID0 AT '-' INTO PSPID1 PSPID2. *Get Length of Proj V_FLEN = STRLEN( PSPID2 ). *Get last 5 digit of proj V_BLEN = V_FLEN - 5. *Concatenate for Project Version CLEAR: V_VSNMR, P_VSNMR. CONCATENATE SY-DATUM+4(2) SY-DATUM+2(2) PSPID2+0(3) PSPID2+V_BLEN(5) INTO V_VSNMR. P_VSNMR = V_VSNMR. *Validate version key CLEAR: WA_PROJ. READ TABLE IT_PROJ INTO WA_PROJ WITH KEY PSPID = P_PROJN-LOW. IF SY-SUBRC EQ 0. LOOP AT IT_VSKOPF INTO WA_VSKOPF WHERE OBJNR_PD = WA_PROJ-OBJNR. IF P_VSNMR = WA_VSKOPF-VSNMR. MESSAGE I000(ZRK) WITH 'Version key exists for project:' P_PROJN-LOW. EXIT. ENDIF. ENDLOOP. ENDIF. *Concatenate for Project Version Description CALL FUNCTION 'CONVERSION_EXIT_ABPSN_INPUT' EXPORTING INPUT = P_PROJN-LOW IMPORTING OUTPUT = P_PROJN-LOW. SELECT SINGLE VERNA FROM PROJ INTO P_VERNA WHERE PSPID = P_PROJN-LOW. SELECT SINGLE * FROM PRPS INTO V_PRPS WHERE POSID = P_PROJN-LOW. V_VERNA = P_VERNA. SPLIT V_VERNA AT SPACE INTO V_FVERNA V_LVERNA. CLEAR: P_VSTEXT, V_VSTEXT. CONCATENATE V_LVERNA P_PROJN-LOW INTO V_VSTEXT SEPARATED BY SPACE. P_VSTEXT = V_VSTEXT. *Concatenate for Project Version Group. CLEAR: V_VSGRUP, P_VSGRUP. CONCATENATE 'EAC_' SY-DATUM+4(2) '_' SY-DATUM+0(4) INTO V_VSGRUP. P_VSGRUP = V_VSGRUP. IF V_PRPS-ZZOCPS = 'OCPR2' OR V_PRPS-ZZOCPS = 'OCPR3'. REFRESH: BDCDATA[]. PERFORM BDC_DYNPRO USING 'RCNSAVVS' '1000'. PERFORM BDC_FIELD USING 'BDC_CURSOR' 'G_VSGRUP'. PERFORM BDC_FIELD USING 'CN_PROJN-LOW' P_PROJN-LOW. PERFORM BDC_FIELD USING 'CN_STUFE-LOW' ' 1'. PERFORM BDC_FIELD USING 'CN_STUFE-HIGH' ' 99'. PERFORM BDC_FIELD USING 'G_VSNMR' P_VSNMR. PERFORM BDC_FIELD USING 'G_VSTEXT' P_VSTEXT. PERFORM BDC_FIELD USING 'G_VSGRUP' P_VSGRUP. PERFORM BDC_FIELD USING 'G_VSMTA' 'X'. CALL TRANSACTION 'CN72' USING BDCDATA MODE 'A'. IF SY-SUBRC EQ 0. MESSAGE I000(ZRK) WITH 'version key has been successfully created'. ELSE. MESSAGE I000(ZRK) WITH 'Error in Creating version key'. ENDIF. ENDIF. ENDLOOP. *----------------------------------------------------------------------* * Start new screen * *----------------------------------------------------------------------* FORM BDC_DYNPRO USING PROGRAM DYNPRO. CLEAR BDCDATA. BDCDATA-PROGRAM = PROGRAM. BDCDATA-DYNPRO = DYNPRO. BDCDATA-DYNBEGIN = 'X'. APPEND BDCDATA. ENDFORM. "BDC_DYNPRO *----------------------------------------------------------------------* * Insert field * *----------------------------------------------------------------------* FORM BDC_FIELD USING FNAM FVAL. * IF FVAL <> NODATA. CLEAR BDCDATA. BDCDATA-FNAM = FNAM. BDCDATA-FVAL = FVAL. APPEND BDCDATA. * ENDIF. ENDFORM. "BDC_FIELD | __.____._ Copyright © 2011 Toolbox.com and message author. Toolbox.com 4343 N. Scottsdale Road Suite 280, Scottsdale, AZ 85251 | | Popular White Papers In the Spotlight _.____.__ |