Issue in uploading programs
Hi experts,
1.I am working on prospect BP uploading program in that I am facing issue like relationship and contact person fields are not populating.
2.In lead uploading program please guide me to maintain sales area data(sales organization,dis channel,division,sales office,sales group ).
Actually I am using BOL programming for uploading programs. Please guide me .
Regards,
shivaprasad.D
Hi Shivaprasad,
Please find below my comments.
1) For lead start date and end date, please check the filed's and data elements you are passing are same. And also fill input fields. Put a breakpoint in FM crm_order_maintain and fill the dates in webui and check what are the values passing in debugging.
Please find sample code below.
gs_appointment2-ref_handle = '0000000001'.
gs_appointment2-ref_guid = lv_guid.
gs_appointment2-ref_kind = 'A'.
gs_appointment2-appt_type = 'ORDERACTUAL'.
gs_appointment2-timestamp_from = lv_timestamp_from.
gs_appointment2-timestamp_to = lv_timestamp_to.
INSERT gs_appointment2 INTO TABLE gt_appointment2.
*** Input fields for Dates
gs_input_fields-ref_handle = '0000000001'.
gs_input_fields-ref_guid = lv_guid.
gs_input_fields-ref_kind = 'A'.
gs_input_fields-objectname = 'APPOINTMENT'.
gs_input_fields-logical_key = 'ORDERACTUAL'.
gs_field_line-fieldname = 'APPT_TYPE'.
APPEND gs_field_line TO gs_input_fields-field_names.
gs_field_line-fieldname = 'DOMINANT'.
APPEND gs_field_line TO gs_input_fields-field_names.
gs_field_line-fieldname = 'SHOW_LOCAL'.
APPEND gs_field_line TO gs_input_fields-field_names.
gs_field_line-fieldname = 'TIMESTAMP_FROM'.
APPEND gs_field_line TO gs_input_fields-field_names.
gs_field_line-fieldname = 'TIMESTAMP_TO'.
APPEND gs_field_line TO gs_input_fields-field_names.
gs_field_line-fieldname = 'TIMEZONE_FROM'.
APPEND gs_field_line TO gs_input_fields-field_names.
gs_field_line-fieldname = 'TIMEZONE_TO'.
APPEND gs_field_line TO gs_input_fields-field_names.
INSERT gs_input_fields INTO TABLE gt_input_fields.
CLEAR gs_input_fields.
2) For maintaining Org Data, if you are expecting the field values like O 00100244 use SALES_ORG_RESP. For field values with name of Sales Org use SALES_ORG_RESP_SHORT. Please check in debugging by putting break point in FM crm_order_maintain for fields and values.
Please find sample code below.
***** Fill Org Data
CLEAR gt_orgman2.
gs_orgman2-ref_handle = '0000000001'.
gs_orgman2-ref_guid = lv_guid.
gs_orgman2-ref_kind = 'A'. "For create, B for update
gs_orgman2-division = <fs_excel_data>-division.
gs_orgman2-sales_org_short = <fs_excel_data>-sales_organization.
gs_orgman2-dis_channel = <fs_excel_data>-distribution_channel.
gs_orgman2-sales_org_resp_short = <fs_excel_data>-sales_org_unit.
gs_orgman2-service_org_resp_short = <fs_excel_data>-service_org_unit.
gs_orgman2-service_org_short = <fs_excel_data>-service_organisation.
APPEND gs_orgman2 TO gt_orgman2.
CLEAR gs_orgman2.
*** Input fields for Org Data
gs_input_fields-ref_handle = '0000000001'.
gs_input_fields-ref_guid = lv_guid.
gs_input_fields-ref_kind = 'A'. "For create, B for update
gs_input_fields-objectname = 'ORGMAN'.
gs_field_line-fieldname = 'DIS_CHANNEL'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'DIS_CHANNEL_ORI'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'DIVISION'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'DIVISION_ORI'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SALES_ORG'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SALES_ORG_ORI'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SALES_ORG_RESP'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SALES_ORG_RESP_SHORT'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SALES_ORG_SHORT'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SERVICE_ORG'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SERVICE_ORGR_ORI'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SERVICE_ORG_RESP'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SERVICE_ORG_RESP_SHORT'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
gs_field_line-fieldname = 'SERVICE_ORG_SHORT'.
INSERT gs_field_line INTO TABLE gs_input_fields-field_names.
INSERT gs_input_fields INTO TABLE gt_input_fields.
CLEAR gs_input_fields.
Thanks,
Varma
Similar Messages
-
Upload Program(sap-abap)
Hi Friends,
I am using existing program to upload data(MM01 - BASIC VIEW ).But one of the field(MARA-BISMT) for old material number is neither uploading to transaction nor database.I have to uoload for other views(Purchasing, Accounting and so on) also which are depended on this old material number field.
Secondly, Functional guy suggest me to add some of the fileds into it which are not available in upload structure.
Could you guide me how to fix this issue in below code and upload data safely ?
* Description : Migration Program for Material Master Basic View
* Using xls-structure in Migration Overview: MM-Basic View
* NAME SR DATE VER. XLS DESCRIPTION OF VERSION
* 8804 04.05.2008 1.0 1.0 Original program
* 8804 27.05.2004 1.1 1.0 Changed check for pack size
* multi pack size, EAN no,
* does not write to initial
* bdc_fields FORMT and FERTH
* 8804 09.06.2006 1.2 1.0 added flag for intercompany
* materials on converting table, also changed FM
* ZMM_ADD_OLD_MATNR_TO_CONV_TABL
REPORT z_basic.
* Structure for batch input
CONSTANTS: c_structure TYPE tabname VALUE 'ZMM_BASIC_VIEW'.
TABLES: makt, t006a, t024l, t002, zpmg, zsf1, zsf2, zsf3, zsf4, zsf5,
zdrc, zdkb, zcce, zpsz, zcns, zusz, zatc, zmsz, t006, tntp, t179
* Internal Tables
DATA: i_data TYPE STANDARD TABLE OF zmm_basic_view.
DATA: i_spras TYPE STANDARD TABLE OF makt-spras.
* selection screen
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
PARAMETERS: p_file(128) DEFAULT 'U:\My Documents\mm_basic.txt'.
SELECTION-SCREEN SKIP.
PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'N'.
PARAMETERS: p_test NO-DISPLAY DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK block1.
INCLUDE Z_BASIC_A.
*INCLUDE zmigration.
* START-OF-SELECTION
START-OF-SELECTION.
PERFORM upload_file.
PERFORM check_entries.
PERFORM add_icons.
IF p_test NE 'X'.
PERFORM update.
update_run = 'X'.
ENDIF.
PERFORM show_result.
*& Form UPDATE
* text
* --> p1 text
* <-- p2 text
FORM update.
CALL FUNCTION 'ZMM_BASIC'
EXPORTING
mode = p_mode
TABLES
i_data = i_data
i_mess = i_mess.
* update conversion table for materials where SAP-number already
* exists and material description also already exist for language in
* field SPRAS_2. This will only happen for inter company materials.
LOOP AT i_data INTO wa_data WHERE zman_update EQ 'X'.
CALL FUNCTION 'ZMM_ADD_OLD_MATNR_TO_CONV_TABL'
EXPORTING
zzomp = wa_data-old_matnr
werks = '54' " dummy plant
matnr = wa_data-matnr
bismt = wa_data-old_matnr
inter_company = 'X'.
wa_data-msgtx = 'Conversion table for material updated'.
wa_data-msgtyp = 'I'.
WRITE icon_led_yellow AS ICON TO wa_data-icon.
MODIFY i_data FROM wa_data TRANSPORTING icon msgtyp msgtx.
ENDLOOP.
ENDFORM. " UPDATE
*& Form SHOW_RESULT
* text
* --> p1 text
* <-- p2 text
FORM show_result.
PERFORM generate_fieldcatalog.
PERFORM hide_blank_fields.
PERFORM unhide_message_columns.
PERFORM move_message_columns.
* PERFORM add_sorting_to_grid. " sort by first column in file
IF called_screen_100 EQ space.
called_screen_100 = 'X'.
CALL SCREEN 100.
ENDIF.
ENDFORM. " SHOW_RESULT
*& Form check_entries
* text
* --> p1 text
* <-- p2 text
FORM check_entries.
DATA: wa_find_new_material TYPE zfind_new_material_number.
LOOP AT i_data INTO wa_data.
* if file has been downloaded, it may already contain messages
CLEAR: wa_data-icon,
wa_data-msgtyp,
wa_data-msgtx.
TRANSLATE wa_data-spras_2 TO UPPER CASE.
TRANSLATE wa_data-meins TO UPPER CASE.
TRANSLATE wa_data-gewei TO UPPER CASE.
TRANSLATE wa_data-voleh TO UPPER CASE.
TRANSLATE wa_data-zzcce TO UPPER CASE.
* If the material already exists, only texts should be maintained
IF NOT wa_data-matnr IS INITIAL.
* Required fields filled?
CASE space.
WHEN wa_data-spras_2.
wa_data-msgtx = 'Field language key (SPRAS_2) is required'.
WHEN wa_data-maktx_2.
wa_data-msgtx = 'Field mat. description (MAKTX_2) is required'.
ENDCASE.
* Set old_matnr to SAP number if it is not filled
IF wa_data-old_matnr IS INITIAL.
wa_data-old_matnr = wa_data-matnr.
ENDIF.
IF wa_data-msgtx EQ space.
* Language key allowed
SELECT SINGLE * FROM t002
WHERE spras = wa_data-spras_2.
IF sy-subrc NE 0.
wa_data-msgtx = 'Language key does not exist (spras_2)'.
ENDIF.
ENDIF.
IF wa_data-msgtx IS INITIAL.
SHIFT wa_data-matnr RIGHT DELETING TRAILING space.
OVERLAY wa_data-matnr WITH '000000000000000000'.
SELECT SINGLE * FROM makt
WHERE matnr EQ wa_data-matnr
AND spras EQ wa_data-spras_2.
IF sy-subrc EQ 0.
CONCATENATE 'Mat. description already exists for language'
wa_data-spras_2
INTO wa_data-msgtx SEPARATED BY space.
MOVE 'X' TO wa_data-zman_update.
ENDIF.
ENDIF.
* Change material - Find line to insert the new description.
IF wa_data-msgtx IS INITIAL.
SELECT spras
INTO TABLE i_spras
FROM makt
WHERE matnr = wa_data-matnr.
DESCRIBE TABLE i_spras LINES l_lines.
IF l_lines > 3.
* All screen fields for descriptions are filled - Must be updated
* manually -
* ( or add code to insert into MAKT in an other way... )
wa_data-msgtx =
'Description must be added manually - only 4 lines available on screen'.
wa_data-zman_update = 'X'.
* added to converting table after update run
ENDIF.
ENDIF.
ELSE.
* Check if required fields are filled
CASE space.
WHEN wa_data-spras_2.
wa_data-msgtx = 'Field language key (SPRAS_2) is required'.
WHEN wa_data-maktx_1.
wa_data-msgtx = 'Field mat. description (MAKTX_1) is required'.
WHEN wa_data-maktx_2.
wa_data-msgtx = 'Field mat. description (MAKTX_2) is required'.
WHEN wa_data-mbrsh.
wa_data-msgtx = 'Field Industry sector (mbrsh) is required'.
WHEN wa_data-mtart.
wa_data-msgtx = 'Field Material type (mtart) is required'.
WHEN wa_data-meins.
wa_data-msgtx = 'Field Base unit of measure (meins) is required'.
WHEN wa_data-prdha.
wa_data-msgtx = 'Field Product hierarchy (prdha) is required'.
WHEN wa_data-labor.
wa_data-msgtx = 'Field Laboratory design (labor) is required'.
ENDCASE.
* Values allowed?
IF wa_data-msgtx EQ space.
* Base unit of measure
SELECT SINGLE * FROM t006a
WHERE spras = sy-langu
AND mseh3 = wa_data-meins.
IF sy-subrc NE 0.
wa_data-msgtx = 'Base unit of measure does not exist (mseh3)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space.
* Lab./Office
SELECT SINGLE * FROM t024l
WHERE labor = wa_data-labor.
IF sy-subrc NE 0.
wa_data-msgtx = 'Lab./Office does not exist (labor)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space.
* Language key
SELECT SINGLE * FROM t002
WHERE spras = wa_data-spras_2.
IF sy-subrc NE 0.
wa_data-msgtx = 'Language key does not exist (spras_2)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space.
* Product hierarchy
SELECT SINGLE * FROM t179
WHERE prodh = wa_data-prdha.
IF sy-subrc NE 0.
wa_data-msgtx = 'Product hierarchy does not exist (PRDHA)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space AND NOT wa_data-zzpmg IS INITIAL.
* ProdMatGrp (ABC ind)
SELECT SINGLE * FROM zpmg
WHERE zzpmg = wa_data-zzpmg.
IF sy-subrc NE 0.
wa_data-msgtx =
'ProdMatGrp (ABC ind) does not exist (zzpmg)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space AND NOT wa_data-zzsf1 IS INITIAL.
* Sort field 1
SELECT SINGLE * FROM zsf1
WHERE zzsf1 = wa_data-zzsf1.
IF sy-subrc NE 0.
wa_data-msgtx =
'Sort field 1 does not exist (ZZSF1)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space AND NOT wa_data-zzsf2 IS INITIAL.
* Sort field 2
SELECT SINGLE * FROM zsf2
WHERE zzsf2 = wa_data-zzsf2.
IF sy-subrc NE 0.
wa_data-msgtx =
'Sort field 2 does not exist (ZZSF2)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space AND NOT wa_data-zzsf3 IS INITIAL.
* Sort field 3
SELECT SINGLE * FROM zsf3
WHERE zzsf3 = wa_data-zzsf3.
IF sy-subrc NE 0.
wa_data-msgtx =
'Sort field 3 does not exist (ZZSF3)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space AND NOT wa_data-zzsf4 IS INITIAL.
* Sort field 4
SELECT SINGLE * FROM zsf4
WHERE zzsf4 = wa_data-zzsf4.
IF sy-subrc NE 0.
wa_data-msgtx =
'Sort field 4 does not exist (ZZSF4)'.
ENDIF.
ENDIF.
IF wa_data-msgtx EQ space AND NOT wa_data-zzsf5 IS INITIAL.
* Sort field 5
SELECT SINGLE * FROM zsf5
WHERE zzsf5 = wa_data-zzsf5.
IF sy-subrc NE 0.
wa_data-msgtx =
'Sort field 5 does not exist (ZZSF5)'.
ENDIF.
ENDIF.
* Drug Code
IF wa_data-msgtx EQ space AND NOT wa_data-zzdrc IS INITIAL.
SELECT SINGLE * FROM zdrc
WHERE zzdrc = wa_data-zzdrc.
IF sy-subrc NE 0.
wa_data-msgtx =
'Drug Code does not exist (zzdrc)'.
ENDIF.
ENDIF.
* Narco Base
IF wa_data-msgtx EQ space AND NOT wa_data-zzdkb IS INITIAL.
SELECT SINGLE * FROM zdkb
WHERE zzdkb = wa_data-zzdkb.
IF sy-subrc NE 0.
wa_data-msgtx =
'Narco Base does not exist (zzdkb)'.
ENDIF.
ENDIF.
* Country code, Emscope standard
IF wa_data-msgtx EQ space AND NOT wa_data-zzcce IS INITIAL.
SELECT SINGLE * FROM zcce
WHERE zzcce = wa_data-zzcce.
IF sy-subrc NE 0.
wa_data-msgtx =
'Country code, Emscope standard does not exist (zzcce)'.
ENDIF.
ENDIF.
* Package size
IF wa_data-msgtx EQ space AND NOT wa_data-zzpsz IS INITIAL.
CONDENSE wa_data-zzpsz.
SELECT SINGLE * FROM zpsz
WHERE zzpsz = wa_data-zzpsz.
IF sy-subrc NE 0.
wa_data-msgtx = 'Package size does not exist (zzpsz)'.
ENDIF.
ENDIF.
* Concentration
IF wa_data-msgtx EQ space AND NOT wa_data-zzcns IS INITIAL.
SELECT SINGLE * FROM zcns
WHERE zzcns = wa_data-zzcns.
IF sy-subrc NE 0.
wa_data-msgtx =
'Concentration does not exist (ZZCNS)'.
ENDIF.
ENDIF.
* Unit Size
IF wa_data-msgtx EQ space AND NOT wa_data-zzusz IS INITIAL.
SELECT SINGLE * FROM zusz
WHERE zzusz = wa_data-zzusz.
IF sy-subrc NE 0.
wa_data-msgtx =
'Unit Size does not exist (ZZUSZ)'.
ENDIF.
ENDIF.
* ATC-no.
IF wa_data-msgtx EQ space AND NOT wa_data-zzatc IS INITIAL.
SELECT SINGLE * FROM zatc
WHERE zzatc = wa_data-zzatc.
IF sy-subrc NE 0.
wa_data-msgtx =
'ATC-no. does not exist (ZZATC)'.
ENDIF.
ENDIF.
* Multi pack size
IF wa_data-msgtx EQ space AND NOT wa_data-zzmsz IS INITIAL.
CONDENSE wa_data-zzmsz.
SELECT SINGLE * FROM zmsz
WHERE zzmsz = wa_data-zzmsz.
IF sy-subrc NE 0.
wa_data-msgtx =
'Multi pack size does not exist (ZZMSZ)'.
ENDIF.
ENDIF.
* Weight Unit
IF wa_data-msgtx EQ space AND NOT wa_data-gewei IS INITIAL.
SELECT SINGLE * FROM t006
WHERE msehi = wa_data-gewei.
IF sy-subrc NE 0.
wa_data-msgtx =
'Weight Unit does not exist (GEWEI)'.
ENDIF.
ENDIF.
* Volume Unit
IF wa_data-msgtx EQ space AND NOT wa_data-voleh IS INITIAL.
SELECT SINGLE * FROM t006
WHERE msehi = wa_data-voleh.
IF sy-subrc NE 0.
wa_data-msgtx =
'Volume Unit does not exist (VOLEH)'.
ENDIF.
ENDIF.
* EAN for Germany will be entered manually by Cato.
if wa_data-ean11 ne space and wa_data-msgtx eq space.
data: l_ean_length type i.
l_ean_length = strlen( wa_data-ean11 ).
if l_ean_length ne 13 or wa_data-matnr ne space.
wa_data-msgtx =
'Enter EAN numbers manually for Germany and common materials'.
elseif wa_data-numtp is initial.
wa_data-msgtx = 'EAN category must be given for EAN number'.
endif.
endif.
if wa_data-ean11 eq space and wa_data-numtp ne space.
* Makes no sense to have an EAN category when there is no EAN
clear: wa_data-numtp.
endif.
ENDIF. " IF NOT wa_data-matnr IS INITIAL.
* Has material already been migrated?
IF wa_data-msgtx EQ space and wa_data-msgtyp ne 'W'.
CLEAR: wa_find_new_material.
MOVE: wa_data-old_matnr TO wa_find_new_material-matnr_old,
'54' TO wa_find_new_material-werks.
CALL FUNCTION 'ZFIND_NEW_MATERIAL_NUMBER'
EXPORTING
get_from_marc = space
CHANGING
wa_data = wa_find_new_material.
IF NOT wa_find_new_material-matnr IS INITIAL.
CONCATENATE: 'Material already created:'
wa_find_new_material-matnr
INTO wa_data-msgtx
SEPARATED BY space.
wa_data-msgtyp = 'E'.
ENDIF.
ENDIF.
* Set all messages that are not Warning to Error
IF wa_data-msgtx NE space AND wa_data-msgtyp EQ space.
MOVE: 'E' TO wa_data-msgtyp.
ENDIF.
MODIFY i_data FROM wa_data.
ENDLOOP.
ENDFORM. " check_entries
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
DATA: local_commands.
PERFORM user_commands_local CHANGING local_commands.
IF local_commands EQ 'X'.
* local user command has been executed - clear ok_code
CLEAR ok_code.
ELSE.
PERFORM user_commands.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form user_commands_local
* text
* <--P_LOCAL_COMMANDS text
FORM user_commands_local CHANGING p_local_commands.
* Add your own user commands here and overwrite default handling if
* necessary
DATA: local_ok TYPE ok.
local_commands = 'X'.
local_ok = ok_code.
CASE local_ok.
WHEN OTHERS.
CLEAR: local_commands.
ENDCASE.
ENDFORM. " user_commands_local
Pls treat it as urgent.
I ll reward for usefull response.
Thx in Adv.
BobbyHi,
I didn't recieve any response from you regarding issues in upload program.
Could you pls send some solution for this issue ?
Pls treat it as urgent.
Thx in Adv.
Bobby -
Automating Cash Journal Posting using inbound proxy interface and upload program
Hi Experts,
I have a requirement where in cash journal posting needs to be carried out automatically by an inbound interface on a periodic basis and at the start during cut over an upload program needs to be used to upload beg balance data . For this purpose I have used BAPI_CASHJOURNALDOC_CREATE to save cash journal entries along with BAPI TRANSACTION COMMIT.
Once the Data is successfully saved I am using FM FCJ_GET_DATA_FOR_SCREEN to get prerequisite data for the FM FCJ_POST_ALL which is used by the Standard cash journal program internally to post the saved data. ( I got this by debugging the standard transaction and both FMs are not yet released )
The issues I am facing is that the the FM FCJ_POST_ALL does not always post the data it behaves in random fashion i.e some times it posts the entries where as sometimes it does not post the entries.
I have tried using commit work after the FM but that also does not result in consistent behavior of the program. One more issue is the i am not allowed to use commit work in a an inbound proxy so how do i proceed ?
I am attaching the code for further analysis:
DATA: LIT_TCJ_TRANS_NAMES TYPE TABLE OF TCJ_TRANS_NAMES,
LWA_TCJ_TRANS_NAMES TYPE TCJ_TRANS_NAMES,
LV_WAIT TYPE BAPITA-WAIT VALUE '1',
LV_RECORD_NO TYPE SY-TABIX.
DATA : LIT_POSTING TYPE STANDARD TABLE OF ISCJ_POSTINGS,
LIT_WTAX_ITEMS TYPE STANDARD TABLE OF TCJ_WTAX_ITEMS,
LIT_SPLIT_POSTINGS TYPE STANDARD TABLE OF ISCJ_POSTINGS,
LIT_CPD TYPE STANDARD TABLE OF TCJ_CPD.
DATA: LV_BEG_BALANCE TYPE CJAMOUNT,
LV_TOTAL_RECEIPTS TYPE CJAMOUNT,
LV_TOTAL_PAYMENTS TYPE CJAMOUNT,
LV_TOTAL_CHECKS TYPE CJAMOUNT,
LV_RUN_BALANCE TYPE CJAMOUNT,
LV_RUN_CASH_BALANCE TYPE CJAMOUNT,
LV_NUMB_OF_REC TYPE I,
LV_NUMB_OF_PAYM TYPE I,
LV_NUMB_OF_CHECKS TYPE I.
DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
SELECT MANDT COMP_CODE TRANSACT_NUMBER LANGU TRANSACT_NAME LONG_TEXT
FROM TCJ_TRANS_NAMES
INTO TABLE LIT_TCJ_TRANS_NAMES
WHERE LANGU = GC_EN.
IF SY-SUBRC <> 0.
MESSAGE 'No Business Transaction maintained for Company Code in this client'(016) TYPE GC_I.
LEAVE LIST-PROCESSING.
ENDIF.
DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
LOOP AT GIT_CJ INTO GWA_CJ.
LV_RECORD_NO = SY-TABIX.
CLEAR: GS_HEADER_BAPI,
GS_CJ_KEY,
GWA_ITEMS.
REFRESH: GIT_ITEMS,
GIT_RETURN.
GS_HEADER_BAPI-COMP_CODE = GWA_CJ-BUKRS.
GS_HEADER_BAPI-CAJO_NUMBER = GWA_CJ-CJNR.
GS_HEADER_BAPI-CURRENCY = GC_PHP.
CLEAR LWA_TCJ_TRANS_NAMES.
READ TABLE LIT_TCJ_TRANS_NAMES INTO LWA_TCJ_TRANS_NAMES WITH KEY COMP_CODE = GWA_CJ-BUKRS
LANGU = GC_EN
TRANSACT_NAME = GWA_CJ-BTNAM.
IF SY-SUBRC = 0.
GWA_ITEMS-TRANSACT_NUMBER = LWA_TCJ_TRANS_NAMES-TRANSACT_NUMBER.
GWA_ITEMS-P_RECEIPTS = GWA_CJ-CJRAT.
GWA_ITEMS-TAX_CODE = GWA_CJ-TXCOD.
GS_HEADER_BAPI-BP_NAME = GWA_CJ-BPNAM.
GWA_ITEMS-POSITION_TEXT = GWA_CJ-POTXT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-LIFNR
IMPORTING
OUTPUT = GWA_ITEMS-VENDOR_NO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-KUNNR
IMPORTING
OUTPUT = GWA_ITEMS-CUSTOMER.
PERFORM SUB_DATE_FROMAT_BAPI CHANGING GWA_CJ-BLDAT
GS_HEADER_BAPI-DOC_DATE.
PERFORM SUB_DATE_FROMAT_BAPI CHANGING GWA_CJ-BUDAT
GS_HEADER_BAPI-PSTNG_DATE.
GS_HEADER_BAPI-REF_DOC_NO = GWA_CJ-XBLNR.
GS_HEADER_BAPI-ALLOC_NMBR = GWA_CJ-ALLNO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-KOSTL
IMPORTING
OUTPUT = GWA_ITEMS-COSTCENTER.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-PRCTR
IMPORTING
OUTPUT = GWA_ITEMS-PROFIT_CTR.
APPEND GWA_ITEMS TO GIT_ITEMS.
CALL FUNCTION 'BAPI_CASHJOURNALDOC_CREATE'
EXPORTING
HEADER = GS_HEADER_BAPI
IMPORTING
COMPANY_CODE = GS_CJ_KEY-COMP_CODE
CASH_JOURNAL_NUMBER = GS_CJ_KEY-CAJO_NUMBER
FISCAL_YEAR = GS_CJ_KEY-FISC_YEAR
CASH_JOURNAL_DOC_NO = GS_CJ_KEY-POSTING_NUMBER
TABLES
ITEMS = GIT_ITEMS
RETURN = GIT_RETURN.
IF GIT_RETURN IS NOT INITIAL.
READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_E.
IF SY-SUBRC <> 0.
CLEAR GWA_CJ_S.
MOVE-CORRESPONDING GS_CJ_KEY TO GWA_CJ_S.
CLEAR GWA_RETURN.
READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_S.
IF SY-SUBRC = 0.
MOVE GWA_RETURN-MESSAGE TO GWA_CJ_S-MSG.
CLEAR GWA_RETURN.
READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_I.
IF SY-SUBRC = 0.
CLEAR GWA_CJ_E.
CONCATENATE GWA_RETURN-MESSAGE GWA_CJ_S-MSG INTO GWA_CJ_E-MSG SEPARATED BY GC_PIPE_FORMAT.
MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
APPEND GWA_CJ_E TO GIT_CJ_E.
GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
ELSE.
IF P_TEST NE GC_X.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = LV_WAIT.
REFRESH:LIT_POSTING ,
LIT_WTAX_ITEMS ,
LIT_SPLIT_POSTINGS ,
LIT_CPD .
CLEAR: LV_BEG_BALANCE ,
LV_TOTAL_RECEIPTS ,
LV_TOTAL_PAYMENTS ,
LV_TOTAL_CHECKS ,
LV_RUN_BALANCE ,
LV_RUN_CASH_BALANCE ,
LV_NUMB_OF_REC ,
LV_NUMB_OF_PAYM ,
LV_NUMB_OF_CHECKS .
CALL FUNCTION 'FCJ_GET_DATA_FOR_SCREEN'
EXPORTING
I_COMP_CODE = GS_CJ_KEY-COMP_CODE
I_CAJO_NUMBER = GS_CJ_KEY-CAJO_NUMBER
I_DISPLAY_PERIOD_LO = GS_HEADER_BAPI-PSTNG_DATE
I_DISPLAY_PERIOD_HI = GS_HEADER_BAPI-PSTNG_DATE
IMPORTING
E_BEGINNING_BALANCE = LV_BEG_BALANCE
E_RUNNING_BALANCE = LV_RUN_BALANCE
E_RUNNING_CASH_BALANCE = LV_RUN_CASH_BALANCE
E_TOTAL_RECEIPTS = LV_TOTAL_RECEIPTS
E_TOTAL_REC_NUMBER = LV_NUMB_OF_REC
E_TOTAL_PAYMENTS = LV_TOTAL_PAYMENTS
E_TOTAL_PAYM_NUMBER = LV_NUMB_OF_PAYM
E_TOTAL_CHECKS = LV_TOTAL_CHECKS
E_TOTAL_CHECKS_NUMBER = LV_NUMB_OF_CHECKS
TABLES
E_POSTINGS = LIT_POSTING
E_WTAX_ITEMS = LIT_WTAX_ITEMS
E_SPLIT_POSTINGS = LIT_SPLIT_POSTINGS
E_CPD = LIT_CPD.
CALL FUNCTION 'FCJ_POST_ALL'
EXPORTING
I_COMP_CODE = GS_CJ_KEY-COMP_CODE
I_CAJO_NUMBER = GS_CJ_KEY-CAJO_NUMBER
I_CURRENCY = GS_HEADER_BAPI-CURRENCY
I_TYP = 'R'
I_DISPLAY_PERIOD_LO = GS_HEADER_BAPI-PSTNG_DATE
I_DISPLAY_PERIOD_HI = GS_HEADER_BAPI-PSTNG_DATE
* IMPORTING
* E_ERROR_NUMBER =
TABLES
ITCJ_POSTINGS = LIT_POSTING
ITCJ_WTAX_ITEMS = LIT_WTAX_ITEMS
ITCJ_SPLIT_POSTINGS = LIT_SPLIT_POSTINGS
ITCJ_CPD = LIT_CPD
CHANGING
P_BEG_BALANCE = LV_BEG_BALANCE
P_TOTAL_RECEIPTS = LV_TOTAL_RECEIPTS
P_TOTAL_PAYMENTS = LV_TOTAL_PAYMENTS
P_TOTAL_CHECKS = LV_TOTAL_CHECKS
P_RUN_BALANCE = LV_RUN_BALANCE
P_RUN_CASH_BALANCE = LV_RUN_CASH_BALANCE
P_NUMB_OF_REC = LV_NUMB_OF_REC
P_NUMB_OF_PAYM = LV_NUMB_OF_PAYM
P_NUMB_OF_CHECKS = LV_NUMB_OF_CHECKS.
COMMIT WORK.
ENDIF.
APPEND GWA_CJ_S TO GIT_CJ_S.
GV_SUCCESS_RECORDS = GV_SUCCESS_RECORDS + GC_1.
CLEAR GWA_CJ_S.
ENDIF.
ENDIF.
ELSE.
CLEAR GWA_CJ_E.
MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
APPEND GWA_CJ_E TO GIT_CJ_E.
GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
ENDIF.
ENDIF.
ELSE.
GWA_RETURN-MESSAGE = 'Transaction Name does not correspond to any Transaction Number'(017).
CLEAR GWA_CJ_E.
MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
APPEND GWA_CJ_E TO GIT_CJ_E.
GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
ENDIF.
ENDLOOP.
ENDFORM. " SUB_BAPI_CALLHi Experts,
I have a requirement where in cash journal posting needs to be carried out automatically by an inbound interface on a periodic basis and at the start during cut over an upload program needs to be used to upload beg balance data . For this purpose I have used BAPI_CASHJOURNALDOC_CREATE to save cash journal entries along with BAPI TRANSACTION COMMIT.
Once the Data is successfully saved I am using FM FCJ_GET_DATA_FOR_SCREEN to get prerequisite data for the FM FCJ_POST_ALL which is used by the Standard cash journal program internally to post the saved data. ( I got this by debugging the standard transaction and both FMs are not yet released )
The issues I am facing is that the the FM FCJ_POST_ALL does not always post the data it behaves in random fashion i.e some times it posts the entries where as sometimes it does not post the entries.
I have tried using commit work after the FM but that also does not result in consistent behavior of the program. One more issue is the i am not allowed to use commit work in a an inbound proxy so how do i proceed ?
I am attaching the code for further analysis:
DATA: LIT_TCJ_TRANS_NAMES TYPE TABLE OF TCJ_TRANS_NAMES,
LWA_TCJ_TRANS_NAMES TYPE TCJ_TRANS_NAMES,
LV_WAIT TYPE BAPITA-WAIT VALUE '1',
LV_RECORD_NO TYPE SY-TABIX.
DATA : LIT_POSTING TYPE STANDARD TABLE OF ISCJ_POSTINGS,
LIT_WTAX_ITEMS TYPE STANDARD TABLE OF TCJ_WTAX_ITEMS,
LIT_SPLIT_POSTINGS TYPE STANDARD TABLE OF ISCJ_POSTINGS,
LIT_CPD TYPE STANDARD TABLE OF TCJ_CPD.
DATA: LV_BEG_BALANCE TYPE CJAMOUNT,
LV_TOTAL_RECEIPTS TYPE CJAMOUNT,
LV_TOTAL_PAYMENTS TYPE CJAMOUNT,
LV_TOTAL_CHECKS TYPE CJAMOUNT,
LV_RUN_BALANCE TYPE CJAMOUNT,
LV_RUN_CASH_BALANCE TYPE CJAMOUNT,
LV_NUMB_OF_REC TYPE I,
LV_NUMB_OF_PAYM TYPE I,
LV_NUMB_OF_CHECKS TYPE I.
DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
SELECT MANDT COMP_CODE TRANSACT_NUMBER LANGU TRANSACT_NAME LONG_TEXT
FROM TCJ_TRANS_NAMES
INTO TABLE LIT_TCJ_TRANS_NAMES
WHERE LANGU = GC_EN.
IF SY-SUBRC <> 0.
MESSAGE 'No Business Transaction maintained for Company Code in this client'(016) TYPE GC_I.
LEAVE LIST-PROCESSING.
ENDIF.
DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
LOOP AT GIT_CJ INTO GWA_CJ.
LV_RECORD_NO = SY-TABIX.
CLEAR: GS_HEADER_BAPI,
GS_CJ_KEY,
GWA_ITEMS.
REFRESH: GIT_ITEMS,
GIT_RETURN.
GS_HEADER_BAPI-COMP_CODE = GWA_CJ-BUKRS.
GS_HEADER_BAPI-CAJO_NUMBER = GWA_CJ-CJNR.
GS_HEADER_BAPI-CURRENCY = GC_PHP.
CLEAR LWA_TCJ_TRANS_NAMES.
READ TABLE LIT_TCJ_TRANS_NAMES INTO LWA_TCJ_TRANS_NAMES WITH KEY COMP_CODE = GWA_CJ-BUKRS
LANGU = GC_EN
TRANSACT_NAME = GWA_CJ-BTNAM.
IF SY-SUBRC = 0.
GWA_ITEMS-TRANSACT_NUMBER = LWA_TCJ_TRANS_NAMES-TRANSACT_NUMBER.
GWA_ITEMS-P_RECEIPTS = GWA_CJ-CJRAT.
GWA_ITEMS-TAX_CODE = GWA_CJ-TXCOD.
GS_HEADER_BAPI-BP_NAME = GWA_CJ-BPNAM.
GWA_ITEMS-POSITION_TEXT = GWA_CJ-POTXT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-LIFNR
IMPORTING
OUTPUT = GWA_ITEMS-VENDOR_NO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-KUNNR
IMPORTING
OUTPUT = GWA_ITEMS-CUSTOMER.
PERFORM SUB_DATE_FROMAT_BAPI CHANGING GWA_CJ-BLDAT
GS_HEADER_BAPI-DOC_DATE.
PERFORM SUB_DATE_FROMAT_BAPI CHANGING GWA_CJ-BUDAT
GS_HEADER_BAPI-PSTNG_DATE.
GS_HEADER_BAPI-REF_DOC_NO = GWA_CJ-XBLNR.
GS_HEADER_BAPI-ALLOC_NMBR = GWA_CJ-ALLNO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-KOSTL
IMPORTING
OUTPUT = GWA_ITEMS-COSTCENTER.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GWA_CJ-PRCTR
IMPORTING
OUTPUT = GWA_ITEMS-PROFIT_CTR.
APPEND GWA_ITEMS TO GIT_ITEMS.
CALL FUNCTION 'BAPI_CASHJOURNALDOC_CREATE'
EXPORTING
HEADER = GS_HEADER_BAPI
IMPORTING
COMPANY_CODE = GS_CJ_KEY-COMP_CODE
CASH_JOURNAL_NUMBER = GS_CJ_KEY-CAJO_NUMBER
FISCAL_YEAR = GS_CJ_KEY-FISC_YEAR
CASH_JOURNAL_DOC_NO = GS_CJ_KEY-POSTING_NUMBER
TABLES
ITEMS = GIT_ITEMS
RETURN = GIT_RETURN.
IF GIT_RETURN IS NOT INITIAL.
READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_E.
IF SY-SUBRC <> 0.
CLEAR GWA_CJ_S.
MOVE-CORRESPONDING GS_CJ_KEY TO GWA_CJ_S.
CLEAR GWA_RETURN.
READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_S.
IF SY-SUBRC = 0.
MOVE GWA_RETURN-MESSAGE TO GWA_CJ_S-MSG.
CLEAR GWA_RETURN.
READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_I.
IF SY-SUBRC = 0.
CLEAR GWA_CJ_E.
CONCATENATE GWA_RETURN-MESSAGE GWA_CJ_S-MSG INTO GWA_CJ_E-MSG SEPARATED BY GC_PIPE_FORMAT.
MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
APPEND GWA_CJ_E TO GIT_CJ_E.
GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
ELSE.
IF P_TEST NE GC_X.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = LV_WAIT.
REFRESH:LIT_POSTING ,
LIT_WTAX_ITEMS ,
LIT_SPLIT_POSTINGS ,
LIT_CPD .
CLEAR: LV_BEG_BALANCE ,
LV_TOTAL_RECEIPTS ,
LV_TOTAL_PAYMENTS ,
LV_TOTAL_CHECKS ,
LV_RUN_BALANCE ,
LV_RUN_CASH_BALANCE ,
LV_NUMB_OF_REC ,
LV_NUMB_OF_PAYM ,
LV_NUMB_OF_CHECKS .
CALL FUNCTION 'FCJ_GET_DATA_FOR_SCREEN'
EXPORTING
I_COMP_CODE = GS_CJ_KEY-COMP_CODE
I_CAJO_NUMBER = GS_CJ_KEY-CAJO_NUMBER
I_DISPLAY_PERIOD_LO = GS_HEADER_BAPI-PSTNG_DATE
I_DISPLAY_PERIOD_HI = GS_HEADER_BAPI-PSTNG_DATE
IMPORTING
E_BEGINNING_BALANCE = LV_BEG_BALANCE
E_RUNNING_BALANCE = LV_RUN_BALANCE
E_RUNNING_CASH_BALANCE = LV_RUN_CASH_BALANCE
E_TOTAL_RECEIPTS = LV_TOTAL_RECEIPTS
E_TOTAL_REC_NUMBER = LV_NUMB_OF_REC
E_TOTAL_PAYMENTS = LV_TOTAL_PAYMENTS
E_TOTAL_PAYM_NUMBER = LV_NUMB_OF_PAYM
E_TOTAL_CHECKS = LV_TOTAL_CHECKS
E_TOTAL_CHECKS_NUMBER = LV_NUMB_OF_CHECKS
TABLES
E_POSTINGS = LIT_POSTING
E_WTAX_ITEMS = LIT_WTAX_ITEMS
E_SPLIT_POSTINGS = LIT_SPLIT_POSTINGS
E_CPD = LIT_CPD.
CALL FUNCTION 'FCJ_POST_ALL'
EXPORTING
I_COMP_CODE = GS_CJ_KEY-COMP_CODE
I_CAJO_NUMBER = GS_CJ_KEY-CAJO_NUMBER
I_CURRENCY = GS_HEADER_BAPI-CURRENCY
I_TYP = 'R'
I_DISPLAY_PERIOD_LO = GS_HEADER_BAPI-PSTNG_DATE
I_DISPLAY_PERIOD_HI = GS_HEADER_BAPI-PSTNG_DATE
* IMPORTING
* E_ERROR_NUMBER =
TABLES
ITCJ_POSTINGS = LIT_POSTING
ITCJ_WTAX_ITEMS = LIT_WTAX_ITEMS
ITCJ_SPLIT_POSTINGS = LIT_SPLIT_POSTINGS
ITCJ_CPD = LIT_CPD
CHANGING
P_BEG_BALANCE = LV_BEG_BALANCE
P_TOTAL_RECEIPTS = LV_TOTAL_RECEIPTS
P_TOTAL_PAYMENTS = LV_TOTAL_PAYMENTS
P_TOTAL_CHECKS = LV_TOTAL_CHECKS
P_RUN_BALANCE = LV_RUN_BALANCE
P_RUN_CASH_BALANCE = LV_RUN_CASH_BALANCE
P_NUMB_OF_REC = LV_NUMB_OF_REC
P_NUMB_OF_PAYM = LV_NUMB_OF_PAYM
P_NUMB_OF_CHECKS = LV_NUMB_OF_CHECKS.
COMMIT WORK.
ENDIF.
APPEND GWA_CJ_S TO GIT_CJ_S.
GV_SUCCESS_RECORDS = GV_SUCCESS_RECORDS + GC_1.
CLEAR GWA_CJ_S.
ENDIF.
ENDIF.
ELSE.
CLEAR GWA_CJ_E.
MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
APPEND GWA_CJ_E TO GIT_CJ_E.
GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
ENDIF.
ENDIF.
ELSE.
GWA_RETURN-MESSAGE = 'Transaction Name does not correspond to any Transaction Number'(017).
CLEAR GWA_CJ_E.
MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
APPEND GWA_CJ_E TO GIT_CJ_E.
GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
ENDIF.
ENDLOOP.
ENDFORM. " SUB_BAPI_CALL -
Shopping Cart needs to be Held Status when created from Upload Program
Hi All,
Shopping Cart is created from Custom Upload Program. In Upload Program, we used BBP_PD_SC_CREATE, BBP_PD_SC_UPDATE, BBP_PD_SC_SAVE and BBP_PD_SC_COMMIT.
Once the Shopping Cart is created from this upload program, I want ot put Shopping Cart as Helad Status.
I exported the parameter I_PARK as 'X' in BBP_PD_SC_CREATE and BBP_PD_SC_UPDATE. But it is not working i.e., the SRM system is not keeping the Shopping Cart as Held Status.
Scenario:
I am uploading the Shopping Cart Items (Shopping Cart creation) on behalf of my manager. My manager has to approve Shopping Cart.
If shopping cart is created maually and Shopping cart value is within the spending limit, work flow is not triggered approval proceess. If I am creating shopping cart behalf of some one, I am adding the approver manually while creating.
When ever we create shopping cart through custom upload program, the shopping cart needs to be approved by the Requestor (my manager, to cross check shopping cart items). So I want to park the Shopping Cart and I want to add Approver as my manager.
Please suggest me or guide me to get the solution for my issue.
Thanks,
Sudarsan
Edited by: KOYYA SUDARSANA NAIDU on Nov 14, 2008 9:12 PMCompleted
-
Issue while uploading data from flatfile to Transaction(VK13).
Hi All,
I am facing an issue while uploading the data from flatfile to the transaction(vk13). My flat file is as shown below.
SalesOrganization DistributionChannel Customer Material Releasestatus Amount Currency Quantity UOM ValidFrom ValidTo
2000 01 0010029614 AT309739 A 20.00 USD 1 PC 09/11/2014 12/31/9999
If I upload these data using the RV_CONDITION_COPY FM it is succesfully uploading to the relevant tables(konh,konp) but in the tcode VK13 I am getting all values fine, except UOM. Instead of PC it is showning as ***. I did not understand why it is happening please give an idea to solve my issue.
Regards,
Chakradhar.Hi Raymond,
Thanks for your reply.Yes,If I use CONVERSION_EXIT_CUNIT_INPUT in my program the issue is, Assume If the user is giving PC as value for UOM field in flat file and upload the flat file.It is successfully uploading the value PC to the UOM field in transaction VK13 but the in the database table(konp) it is showing the value as ST.
Regards,
Chakradhar. -
PA40 employee termination Upload program
hi friends..
i am facing one issue.. plz give me some idea to resolve tis..
Hr module - In TCode pa40 we can terminate a single employee by giving a necessary data..
but my client asking me a upload program to terminate a set of employees..
I tried by recording(SHDB) but its not possible because while terminating a employee it terminate all the infotype maintained for that employee..
Number of infotype maintain for a employee is vary from employee to employee.
is there any standard LSMW- direct input method is available? or any BAPI is available ?
can you throw some light to resolve tis?
thanks in advance..Hi Deva,
I am facing the same issue. Did you ever get a solution to this problem??
Thanks
Shane -
Material Master upload Programe
Hi anybody,
I developed Material master upload programe in ABAP. Material is uploaded. but more than 18 characters materials is upload upto 18 characters last character is "!".
Ex: SET SCREW M12X50MM L - I want upload this material.
But SAP takes automatically like SET SCREW M12X50M! 18 th character is "!" symbol.
how do i resolve this problem. I want upload more than 18 characters.
anybody please tell me this issue.
Tks,
S.Muthu.what are you talking about material code or material discription
rgds
Rajesh -
Error 8 when compiling the upload program: row 436
Hi all,
pls let me know how to solve this error
Error 8 when compiling the upload program: row 436, message: A newer version of data type /BIC/B0000582000 was
Thanks
PrashantHello SAP gurus.
I know it's a very long time the question was asked, but who cares if it can someday help somebody?
So i just faced the same issue, the solution was sample, i relaunch RSA1 and the problem was solved.
Hope i would be helpful
Salah -
Issue with upload of time events through SAPCDT45
Dear Consultants,
I am facing an issue while uploading the clocking data for locked entries.
When the entries are uploaded from CC1TEV to TEVEN table using program SAPCDT45, "Changed By" and "Changed On" fields
are coming blank in PA30 IT2011
PFA the screenshot describing the current situation for such a record updated via SAPCDT45.There you can see that the change information is not getting updated. whereas in normal cases where the data is uploaded directly to TEVEN table, this data is coming properly.
Kindly help.
Regards,
Udit SinghalHi Udit,
There are three fields in CC1TEV which must be filled if you wish to update UNAME and AEDTM fields in IT2011.
ERDAT - Date of Entry in SAP
ERTIM - Time of Entry in SAP
USRUP - User who uploads the data
In real time, the flat file will come through an interface from time recording system. It won't have data for the above fields. Hence, the program RPTEUP10 should be modified to update these fields.
When the program SAPCDT45 runs, it will read these values to update UNAME and AEDTM fields.
I have already implemented this for a couple of clients and I can assure you that it works.
Also, RPTEUP10 doesn't work in sequential file mode which will be needed for picking up file from SAP Application Server. Hence, you will need to customize the program.
Please refer my blog where I have explained in detail why we need to customize program RPTEUP10.
I hope this information is helpful and resolves your query.
Thanks and regards,
Vivek Barnwal -
Issue while uploading .TIFF file into Standard text using RSTXLDMC
Hi All,
We are facing issues while uploading .TIFF file into standard text through program RSTXLDMC.
Getting the following error.
TIFF format error: No baseline TIFF 6.0 file.
The image is a colored one.
Please provide me solution if anyone has worked in this area.
Thanks in Advance,
Anand Raj Kuruba.Hi,
Often this error occurs because the TIFF file you have has been saved with some form of compression. You need to open in a picture edit program and save as TIFF making sure options are set so there is no compression.
Andrew -
Hi all.
I am writing a full MM upload program and amongst other things I have to upload PIR's. I understand there is no FM or BAPI to use which would make things nice and easy. For performance issues I don't really wish to use a BDC either.
I have read about program RM06IBI0 that is used for LSMWs. Can someone please advise how I would call this from a standard ABAP. I understand that I would have to create a header and line item table to be uploaded via RM06IBI0.
If anyone has used this program within an upload process other than LSMW I would be interested to hear from you.
Cheers.I need the answer too the same problem can anybody help !!
-
Fail safe logic needed for purchase order upload program
Hello all,
i am working on creating PO's by reading data from a text file. I need to implement fail safe logic in it, which is to make sure this program uploads all the records in the text file successfully. For example, i have 1000 records in my text file and while running the upload program if the program times out while creating the 500th PO or if SAP is down at that time, then we have 499 PO's created and 501 yet to be created. But if we run the same program again, we will generate duplicate PO's for 499 again. I want to avoid this kind of problem.
How do i implement this idea?
Kindly guide me on this.
Thanks.Ok ..
Then I would suggest you use Application Log to keep the success and error messages of PO processing.
You can check trsnaction SLG0 and create your own application log object.
Then you need to use FMs BAL_LOG_* to crate and add messages to it.
This way you will have a facility to check as which of your records are converted to PO for a run.
In case SAP gets down in between , still you can find the details using Xn SLG1 and then accordingly remove the records from your file which are already converted to PO.
Thanks,
Ram -
Existing Function modules or Standard upload Programs
Hi,
Can any one tell, Are there any Function modules or Standard upload programs exists for following transactions:
Creating production version(C223)
Creating Master recipe(C201)
Creation Apportionment Structure(C202)
Creation BOM Allocation(CS08)
(This all tcodes comes under Production planning.)
Thanks in advance.Hi Vanitha,
Check this
for C223
CM_FV_PROD_VERS_MAINTAIN
CM_FV_PROD_VERS_SAVE
CM_FV_PROD_VERS_SAVE_ALL
CY01_ORDER_MODIFY_PROD_VERSION
For C201
C2_CU_RECIPE_EXCLUDE_CREATE
CONTROL_RECIPE_CREATE
For C202
APPOINTMENT_GRP_CREATE
APPOINTMENT_CREATE
APPOINTMENT_GENERATE
APPOINTMENT_GENERATE_2
For CS08
CSAP_MAT_BOM_ALLOC_CREATE
Hope it helps...
Lokesh
pls. reward appropriate points
Message was edited by: Lokesh Aggarwal -
Since I've installed Mountain Lion, I am having lock up issues with multiple programs. MS Outlook has crashed and I've lost all my folders. HELP?
okay I've finally been able to get tor and all the other programs to work according to my plan the only thing that's still making problems is that iptables doesn't work as I want it to, when I start chromium without proxy settings privoxy doesn't seem to forward the information to polipo.. do I need to add another rule to iptables.rules in order for the program to know it has to reroute the information again or how can I get this to work? and is there any way to run rtorrent with proxy support?
anyway, problem 2 and 3 are still to be solved.
and does anybody know where i can get a good dansguardian blacklist that was not designed for 6 year old children and for which I don't need to subscribe? I'm still getting these partypoker popups -.-
//e: with iptables it's the same thing as described in the first post. https works, http doesnt. I get the output "Invalid header received from client." on http sites. still no idea why though.. (and the https-version of torcheck.xenubite says i'm tor unprotected while starting the browser with iptables)
Last edited by deF291 (2011-04-23 16:16:31) -
Hello to everybody,
I'm looking for a standard program that can download and upload program' source codes. I found the program REPTRAN (in SAP release 6.0) that can only download the source code (with the include as well), but i didn't find the upload one.
So, does anyone knows if exist a standard program that can download source codes (comprensive of include) and upload it as well?
Thanks and bye..Hi,
Here is code which read the Programs & download:
Here Just pass the itab "SOURCE" into WS_DOWNLOAD.
function zuplt01f_tr.
*"*"Local interface:
*" IMPORTING
*" REFERENCE(PROGRAM_NAME) TYPE SYREPID
*" TABLES
*" SOURCE
data: f(240) type c,
g type i,
h(72) type c,
low type i .
read report program_name into source . " state 'A'.
describe table source lines count.
endfunction.
Raja T
Maybe you are looking for
-
How do I add a second iphone to my itunes account?
How do I add a second iphone to my itunes account?
-
Headphone Output Not Working - Does Anyone Else Have This Problem?
I bought my Macbook brand new 2 weeks ago and have taken it out twice in a padded case. I tried to use my headphones with my mac and the sound is only coming out of the left headphone... The right headphone makes a popping sound when i press play in
-
Firefox opens when I connect to the internet instead of opening to my home page
Occasionally when I want to connect to the internet, my home page does not appear; I see Mozilla Firefox that fills the screen instead. I want to go to my home page, Dvorak, from which I navigate to other sites, such as Google for a search. I do not
-
Able to connect via Oracle SQL Developer, but not sql plus
Using Oracle 10.2.0. I can connect using the TNS connection type in SQL Developer, but cannot do so in SQL PLUS. SQL Plus gives me the error -- could not resolve the connect identifier. When I do tnsping USPO_ADHOC, I get: C:\oracle\product\10.2.0\cl
-
MPLS/VPN network load balancing in the core
Hi, I've an issue about cef based load-balancing in the MPLS core in MPLS/VPN environment. If you consider flow-based load balancing, the path (out interface) will be chosen based on source-destination IP address. What about in MPLS/VPN environment?