‎2005 Sep 20 7:14 AM
I do an example with transaction code SU01.Selected an user(Tom) click Change,then edit Parameters.
Here is my source code:
-
REPORT ZADDRID.
DATA:BEGIN OF INT_BDC OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA:END OF INT_BDC.
INITIALIZATION.
PERFORM BUILD_BDC.
PERFORM SUBMIT_BDC.
FORM BUILD_BDC.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0050'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'BDC_CURSOR' 'USR02-BNAME',
USING 'USR02-BNAME' 'Tom',
USING 'BDC_OKCODE' '=CHAN'.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0100'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'USPARAM-PARID' 'RID',
USING 'USPARAM-PARVA' 'MYTEST',
USING 'BDC_OKCODE' '=UPD'.
ENDFORM.
FORM SUBMIT_BDC.
CALL TRANSACTION 'SU01' USING INT_BDC MODE 'A'.
REFRESH INT_BDC.
ENDFORM.
FORM BDC_SCREEN TABLES P_BDC STRUCTURE BDCDATA
USING P_PROGRAM P_SCREEN.
CLEAR P_BDC.
P_BDC-PROGRAM = P_PROGRAM.
P_BDC-DYNPRO = P_SCREEN.
P_BDC-DYNBEGIN = 'X'.
APPEND P_BDC.
ENDFORM.
FORM BDC_FIELD TABLES P_BDC STRUCTURE BDCDATA
USING P_NAME P_VALUE.
CLEAR P_BDC.
CASE P_VALUE.
WHEN ''.
WHEN OTHERS.
P_BDC-FNAM = P_NAME.
P_BDC-FVAL = P_VALUE.
APPEND P_BDC.
ENDCASE.
ENDFORM.
-
Error Message:Field USPARAM-PARVA,does not exist in the screen SAPLSUU5 0100.
Pleae tell how can I solve this question.
Thanks!!
‎2005 Sep 20 7:31 AM
u hv missed one ok-code...
another thing u missed is USING '<b>USPARAM-PARVA(10)</b>' 'MYTEST'.
index...this u have to set the maximum value + 1 of user parameter..
this u can get in table USR05...
plz reward point if my answer helps u...
regards
gv...
REPORT ZADDRID.
DATA:BEGIN OF INT_BDC OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA:END OF INT_BDC.
INITIALIZATION.
PERFORM BUILD_BDC.
PERFORM SUBMIT_BDC.
FORM BUILD_BDC.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0050'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'BDC_CURSOR' 'USR02-BNAME',
USING 'USR02-BNAME' 'venkat',
USING 'BDC_OKCODE' '=CHAN'.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0100'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'BDC_OKCODE' '=PARAM'.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0100'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'USPARAM-PARID(10)' 'RID',
USING 'USPARAM-PARVA(10)' 'ZZGV099',
USING 'BDC_OKCODE' '=UPD'.
ENDFORM.
FORM SUBMIT_BDC.
CALL TRANSACTION 'SU01' USING INT_BDC MODE 'A'.
REFRESH INT_BDC.
ENDFORM.
FORM BDC_SCREEN TABLES P_BDC STRUCTURE BDCDATA
USING P_PROGRAM P_SCREEN.
CLEAR P_BDC.
P_BDC-PROGRAM = P_PROGRAM.
P_BDC-DYNPRO = P_SCREEN.
P_BDC-DYNBEGIN = 'X'.
APPEND P_BDC.
ENDFORM.
FORM BDC_FIELD TABLES P_BDC STRUCTURE BDCDATA
USING P_NAME P_VALUE.
CLEAR P_BDC.
CASE P_VALUE.
WHEN ''.
WHEN OTHERS.
P_BDC-FNAM = P_NAME.
P_BDC-FVAL = P_VALUE.
APPEND P_BDC.
ENDCASE.
ENDFORM.
‎2005 Sep 20 7:31 AM
u hv missed one ok-code...
another thing u missed is USING '<b>USPARAM-PARVA(10)</b>' 'MYTEST'.
index...this u have to set the maximum value + 1 of user parameter..
this u can get in table USR05...
plz reward point if my answer helps u...
regards
gv...
REPORT ZADDRID.
DATA:BEGIN OF INT_BDC OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA:END OF INT_BDC.
INITIALIZATION.
PERFORM BUILD_BDC.
PERFORM SUBMIT_BDC.
FORM BUILD_BDC.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0050'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'BDC_CURSOR' 'USR02-BNAME',
USING 'USR02-BNAME' 'venkat',
USING 'BDC_OKCODE' '=CHAN'.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0100'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'BDC_OKCODE' '=PARAM'.
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0100'.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'USPARAM-PARID(10)' 'RID',
USING 'USPARAM-PARVA(10)' 'ZZGV099',
USING 'BDC_OKCODE' '=UPD'.
ENDFORM.
FORM SUBMIT_BDC.
CALL TRANSACTION 'SU01' USING INT_BDC MODE 'A'.
REFRESH INT_BDC.
ENDFORM.
FORM BDC_SCREEN TABLES P_BDC STRUCTURE BDCDATA
USING P_PROGRAM P_SCREEN.
CLEAR P_BDC.
P_BDC-PROGRAM = P_PROGRAM.
P_BDC-DYNPRO = P_SCREEN.
P_BDC-DYNBEGIN = 'X'.
APPEND P_BDC.
ENDFORM.
FORM BDC_FIELD TABLES P_BDC STRUCTURE BDCDATA
USING P_NAME P_VALUE.
CLEAR P_BDC.
CASE P_VALUE.
WHEN ''.
WHEN OTHERS.
P_BDC-FNAM = P_NAME.
P_BDC-FVAL = P_VALUE.
APPEND P_BDC.
ENDCASE.
ENDFORM.
‎2005 Sep 20 7:31 AM
It looks like the action to click the parameter tab from screen 100 is not there.
BDC_OKCODE =PARAM
From screen 100 you need to add this value.
‎2005 Sep 20 7:35 AM
I think the OK-CODE to select the PARAMETER tab is missing. Okcode is PARAM.
Add this line
PERFORM BDC_FIELD USING 'BDC_OKCODE' 'PARAM'.
before.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'USPARAM-PARID' 'RID',
USING 'USPARAM-PARVA' 'MYTEST',
USING 'BDC_OKCODE' '=UPD'.
‎2005 Sep 20 7:38 AM
Hi,
You have to give the line index for the 'USPARAM' fields.
PERFORM BDC_FIELD TABLES INT_BDC:
USING 'USPARAM-PARID(01)' 'RID',
USING 'USPARAM-PARVA(01)' 'MYTEST',
USING 'BDC_OKCODE' '=UPD'.
ENDFORM.
If you want to enter more line, the index can be dynamic. You can use a variable here.
Thanks
Vinod
‎2005 Sep 20 7:42 AM
This is a workale code -
DATA:BEGIN OF INT_BDC OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA:END OF INT_BDC.
INITIALIZATION.
PERFORM BUILD_BDC.
PERFORM SUBMIT_BDC.
FORM SUBMIT_BDC.
CALL TRANSACTION 'SU01' USING INT_BDC MODE 'A'.
REFRESH INT_BDC.
ENDFORM.
FORM BUILD_BDC.
perform bdc_dynpro using 'SAPLSUU5' '0050'.
perform bdc_field using 'BDC_CURSOR'
'USR02-BNAME'.
perform bdc_field using 'BDC_OKCODE'
'=CHAN'.
perform bdc_field using 'USR02-BNAME'
'Tom'.
perform bdc_dynpro using 'SAPLSUU5' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=PARAM'.
perform bdc_dynpro using 'SAPLSUU5' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=CHECK'.
perform bdc_field using 'BDC_CURSOR'
'USPARAM-PARVA(15)'.
perform bdc_field using 'USPARAM-PARID(15)'
'RID'.
perform bdc_field using 'USPARAM-PARVA(07)'
'MY_TEST'.
perform bdc_dynpro using 'SAPLSUU5' '0100'.
perform bdc_field using 'BDC_CURSOR'
'USR02-BNAME'.
perform bdc_field using 'BDC_OKCODE'
'=UPD'.
ENDFORM .
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR INT_BDC.
INT_BDC-PROGRAM = PROGRAM.
INT_BDC-DYNPRO = DYNPRO.
INT_BDC-DYNBEGIN = 'X'.
APPEND INT_BDC.
ENDFORM.
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> '/'.
CLEAR INT_BDC.
INT_BDC-FNAM = FNAM.
INT_BDC-FVAL = FVAL.
APPEND INT_BDC.
ENDIF.
ENDFORM.
‎2005 Sep 20 7:48 AM
hi
"Field USPARAM-PARVA,does not exist in the screen SAPLSUU5 0100"
the field USPARAM-PARVA is available in SAPLSUU5 0104,
try with this
PERFORM BDC_SCREEN TABLES INT_BDC
USING 'SAPLSUU5' '0104'.
cheers,
sasi