Upload program to load Custom PA infotype
I need to develope UpLoad program to load Custom PA infotype which I created with 9001.
Can you please give the steps to Write upload program.
Thanks
Raj
This is an example of the HR_INFOTYPE_OPERATION use, in this case for a custom infotype as well.
LOOP AT IT_9129.
clear : W_PERNR, W_RETCODE, i9129, t_output.
* Primeiro vamos buscar o número de empregado associado ao número do sistema anterior
PERFORM GET_NEW_PERNR USING IT_9129-PERNR
IT_9129-BEGDA
CHANGING W_PERNR
W_RETCODE.
CHECK W_RETCODE = 0.
* Aqui assignamos os valores
MOVE-CORRESPONDING it_9129 to i9129.
i9129-pernr = w_pernr.
i9129-endda = w_endda.
* Bloquear o Empregado
perform ENQUEUE_EPPRELE using W_PERNR .
* Executar PA30
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = '9129'
NUMBER = i9129-pernr
VALIDITYEND = i9129-endda
VALIDITYBEGIN = i9129-begda
RECORD = i9129
OPERATION = 'INS'
TCLAS = 'A'
DIALOG_MODE = P_MODO
IMPORTING
RETURN = return.
if not return is initial.
perform fill_error using return .
else.
t_output-mensagem = 'Infotipo 9129 criado com sucesso'.
endif.
* Output
t_output-PERNR = w_pernr.
t_output-PNALT = it_9129-PERNR.
append t_output.
ENDLOOP.
Similar Messages
-
Code for UpLoad program to load Custom PA infotype
I need to develope UpLoad program to load Custom PA infotype which I created with 9001.
Can you please give the complete code to Write upload program using standard available FM .
Points will be awarded........
Thanks
RajAs this is a custom Infotype and no code is readily available, I would suugest that you try transction SHDB and record loading data into this Infotype. This interm can be converted to a program which you can then tweek. If I get stuck writting a BDC upload program then this is where I start.
Regards
J -
AP PRE_PAYMENTS custom concurrent program to load pre-payment invoices
is there any concurrent program to load pre-payment invoices.if not how to create
THanks for the suggestion MIke. I tried changing both the element name and the value to upper case, tthen I tried removing the..
<property name="xml_tag_case" value="upper" /> ..line altogether, yet it still isn't returning any records..
THanks
Steven -
How to Upload Program Source Code
Hello,
i have a program which downloads the source code into text files.
I need to create all these into another server.
so i need a program to upload these programs.
Any idea how to it? Thanks in advance.
Thanks&Regards,
Sayanna DamerlaTry this custom code:
Upload and Download ABAP Source Code
Source Code Listing
Report: ZKBPROGS *
Function : Up/Download ABAP reports complete with texts *
- this program does not update TRDIR with the *
TRDIR entries that are in the program uploaded. Instead, *
current users stats are used. *
- this program allows selection of reports from a list or *
a single report can be tuped in and uploaded *
- this program also updates TADIR so that a development class*
is assigned to the program *
- this program checks to see if the program already has a *
TRDIR entry, and if it does, warns the user *
- this program will save/restore the program documenation too*
REPORT ZKBPROGS
NO STANDARD PAGE HEADING
LINE-SIZE 255.
Declare Database Objects *
tables:
DOKIL,
TRDIR.
Constants*
CONSTANTS:
MC_TRDIR_IDENTIFIER(72) TYPE C VALUE '%&%& RDIR',
MC_REPORT_IDENTIFIER(72) TYPE C VALUE '%&%& REPO',
MC_TEXT_IDENTIFIER(72) TYPE C VALUE '%&%& TEXP',
MC_THEAD_IDENTIFIER(72) TYPE C VALUE '%&%& HEAD',
MC_DOC_IDENTIFIER(72) TYPE C VALUE '%&%& DOKL',
MC_TRDIR_SHORT(4) TYPE C VALUE 'RDIR',
MC_REPORT_SHORT(4) TYPE C VALUE 'REPO',
MC_TEXT_SHORT(4) TYPE C VALUE 'TEXP',
MC_THEAD_SHORT(4) TYPE C VALUE 'HEAD',
MC_DOC_SHORT(4) TYPE C VALUE 'DOKP'.
Declare Module level data structures *
DATA: BEGIN OF MTAB_PROGRAM_SOURCE OCCURS 0,
LINE(72) TYPE C,
END OF MTAB_PROGRAM_SOURCE.
DATA: MTAB_PROGRAM_TRDIR LIKE TRDIR OCCURS 0 WITH HEADER LINE.
DATA: MTAB_PROGRAM_TEXTS LIKE TEXTPOOL OCCURS 0 WITH HEADER LINE.
DATA: MSTR_THEAD LIKE THEAD.
DATA: BEGIN OF MTAB_PROGRAM_FILE OCCURS 0,
LINE(275) TYPE C,
END OF MTAB_PROGRAM_FILE.
DATA: BEGIN OF MTAB_DIRECTORY OCCURS 0,
NAME LIKE TRDIR-NAME,
DESC(72) TYPE C,
SAVENAME LIKE RLGRAP-FILENAME,
END OF MTAB_DIRECTORY.
DATA: BEGIN OF MTAB_PROGRAM_DOCUMENTATION OCCURS 0,
LINE(255) TYPE C,
END OF MTAB_PROGRAM_DOCUMENTATION.
Selection Screen *
*-- Options for upload/download of programs
SELECTION-SCREEN BEGIN OF BLOCK FRM_OPTIONS WITH FRAME TITLE TEXT-UDL.
PARAMETERS:
RB_DOWN RADIOBUTTON GROUP UDL DEFAULT 'X'. " Download reports
SELECTION-SCREEN BEGIN OF BLOCK FRM_TRDIR WITH FRAME TITLE TEXT-DIR.
SELECT-OPTIONS:
S_NAME FOR TRDIR-NAME, " Program Name
S_SUBC FOR TRDIR-SUBC " Program Type
DEFAULT 'F' OPTION EQ SIGN E," Exclude Functions by default
S_CNAM FOR TRDIR-CNAM " Created by
DEFAULT SY-UNAME,
S_UNAM FOR TRDIR-UNAM, " Last Changed by
S_CDAT FOR TRDIR-CDAT, " Creation date
S_UDAT FOR TRDIR-UDAT. " Last update date
SELECTION-SCREEN END OF BLOCK FRM_TRDIR.
*-- Options for uploading programs
PARAMETERS:
RB_UP RADIOBUTTON GROUP UDL. " Upload reports
SELECTION-SCREEN BEGIN OF BLOCK FRM_UPLOAD WITH FRAME TITLE TEXT-UPL.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(29) TEXT-SNG.
PARAMETERS:
RB_FILE RADIOBUTTON GROUP HOW DEFAULT 'X'.
SELECTION-SCREEN COMMENT 33(42) TEXT-FNA.
SELECTION-SCREEN END OF LINE.
PARAMETERS:
RB_LIST RADIOBUTTON GROUP HOW.
SELECTION-SCREEN END OF BLOCK FRM_UPLOAD.
SELECTION-SCREEN END OF BLOCK FRM_OPTIONS.
*-- Options for up/downloading programs
SELECTION-SCREEN BEGIN OF BLOCK FRM_FILEN WITH FRAME TITLE TEXT-FIL.
PARAMETERS:
RB_DOS RADIOBUTTON GROUP FIL DEFAULT 'X', " Save to local
RB_UNIX RADIOBUTTON GROUP FIL, " Save to UNIX
P_PATH LIKE RLGRAP-FILENAME " Path to save files to
DEFAULT 'c:\temp\'.
SELECTION-SCREEN END OF BLOCK FRM_FILEN.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_NAME-LOW.
CALL FUNCTION 'F4_PROGRAM'
EXPORTING
OBJECT = S_NAME-LOW
SUPPRESS_SELECTION = 'X'
IMPORTING
RESULT = S_NAME-LOW
EXCEPTIONS
OTHERS = 1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_NAME-HIGH.
CALL FUNCTION 'F4_PROGRAM'
EXPORTING
OBJECT = S_NAME-HIGH
SUPPRESS_SELECTION = 'X'
IMPORTING
RESULT = S_NAME-HIGH
EXCEPTIONS
OTHERS = 1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_UNAM-LOW.
PERFORM GET_NAME USING 'S_UNAM-LOW'
CHANGING S_UNAM-LOW.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_UNAM-HIGH.
PERFORM GET_NAME USING 'S_UNAM-HIGH'
CHANGING S_UNAM-HIGH.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_CNAM-LOW.
PERFORM GET_NAME USING 'S_CNAM-LOW'
CHANGING S_CNAM-LOW.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_CNAM-HIGH.
PERFORM GET_NAME USING 'S_CNAM-HIGH'
CHANGING S_CNAM-HIGH.
TOP-OF-PAGE.
IF RB_LIST = 'X'.
FORMAT COLOR COL_HEADING.
NEW-LINE.
WRITE: AT 3 TEXT-H01,
AT 15 TEXT-H03.
FORMAT COLOR OFF.
ENDIF.
AT LINE-SELECTION.
CHECK RB_LIST = 'X'. " only do in list mode
READ LINE SY-CUROW FIELD VALUE MTAB_DIRECTORY-SAVENAME.
*-- Read file into an internal table
PERFORM READ_REPORT_FROM_DISK TABLES MTAB_PROGRAM_FILE
USING MTAB_DIRECTORY-SAVENAME.
*-- Split table into TADIR entry, report lines, and report text
PERFORM SPLIT_INCOMING_FILE TABLES MTAB_PROGRAM_FILE
MTAB_PROGRAM_SOURCE
MTAB_PROGRAM_TEXTS
MTAB_PROGRAM_DOCUMENTATION
CHANGING TRDIR
MSTR_THEAD.
*-- Save all of the data
PERFORM INSERT_NEW_REPORT TABLES MTAB_PROGRAM_SOURCE
MTAB_PROGRAM_TEXTS
MTAB_PROGRAM_DOCUMENTATION
USING TRDIR
MSTR_THEAD.
Start of processing *
START-OF-SELECTION.
FORMAT COLOR COL_NORMAL.
IF RB_DOWN = 'X'.
PERFORM DOWNLOAD_REPORTS.
ELSEIF RB_UP = 'X'.
PERFORM UPLOAD_REPORTS.
ENDIF.
END-OF-SELECTION.
IF RB_DOWN = 'X'.
CONCATENATE P_PATH
'directory.txt'
INTO P_PATH.
PERFORM SAVE_TABLE_TO_FILE TABLES MTAB_DIRECTORY
USING P_PATH.
ENDIF.
FORM UPLOAD_REPORTS *
FORM UPLOAD_REPORTS.
*-- Can upload a reports entered in selection criteria or
*-- select from a list. List can be from index.txt in same directory
*-- (created by the download) or by reading the first line of each file
*-- in the directory.
IF RB_FILE = 'X'. " Upload single program from a file
*-- Read file into an internal table
PERFORM READ_REPORT_FROM_DISK TABLES MTAB_PROGRAM_FILE
USING P_PATH.
*-- Split table into TADIR entry, report lines, and report text
PERFORM SPLIT_INCOMING_FILE TABLES MTAB_PROGRAM_FILE
MTAB_PROGRAM_SOURCE
MTAB_PROGRAM_TEXTS
MTAB_PROGRAM_DOCUMENTATION
CHANGING TRDIR
MSTR_THEAD.
*-- Save all of the data
PERFORM INSERT_NEW_REPORT TABLES MTAB_PROGRAM_SOURCE
MTAB_PROGRAM_TEXTS
MTAB_PROGRAM_DOCUMENTATION
USING TRDIR
MSTR_THEAD.
ELSEIF RB_LIST = 'X'. " Show list for user to choose from
*-- get list of report names/descriptions from directory text
CONCATENATE P_PATH
'directory.txt'
INTO P_PATH.
PERFORM READ_REPORT_FROM_DISK TABLES MTAB_DIRECTORY
USING P_PATH.
SORT MTAB_DIRECTORY.
*-- Write out list of report names/descriptions
LOOP AT MTAB_DIRECTORY.
WRITE:
/ MTAB_DIRECTORY-NAME UNDER TEXT-H01,
MTAB_DIRECTORY-DESC UNDER TEXT-H03,
MTAB_DIRECTORY-SAVENAME.
ENDLOOP.
*-- Process user selections for reports to upload.
ENDIF.
ENDFORM. " upload_reports
FORM DOWNLOAD_REPORTS *
From the user selections, get all programs that meet the *
criteria, and save them in ftab_program_directory. *
Also save the report to disk. *
FORM DOWNLOAD_REPORTS.
DATA:
LC_FULL_FILENAME LIKE RLGRAP-FILENAME.
*-- The table is put into an internal table because the program will
*-- abend if multiple transfers to a dataset occur within a SELECT/
*-- ENDSELCT (tested on 3.1H)
SELECT * FROM TRDIR
INTO TABLE MTAB_PROGRAM_TRDIR
WHERE NAME IN S_NAME
AND SUBC IN S_SUBC
AND CNAM IN S_CNAM
AND UNAM IN S_UNAM
AND CDAT IN S_CDAT
AND UDAT IN S_UDAT.
LOOP AT MTAB_PROGRAM_TRDIR.
*-- Clear out text and source code tables
CLEAR:
MTAB_PROGRAM_FILE,
MTAB_PROGRAM_SOURCE,
MTAB_PROGRAM_TEXTS,
MTAB_PROGRAM_DOCUMENTATION.
REFRESH:
MTAB_PROGRAM_FILE,
MTAB_PROGRAM_SOURCE,
MTAB_PROGRAM_TEXTS,
MTAB_PROGRAM_DOCUMENTATION.
*-- Get the report
READ REPORT MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_SOURCE.
*-- Get the text for the report
READ TEXTPOOL MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_TEXTS.
*-- Get the documentation for the report
CLEAR DOKIL.
SELECT * UP TO 1 ROWS FROM DOKIL
WHERE ID = 'RE'
AND OBJECT = MTAB_PROGRAM_TRDIR-NAME
AND LANGU = SY-LANGU
AND TYP = 'E'
ORDER BY VERSION DESCENDING.
ENDSELECT.
*-- Documentation exists for this object
IF SY-SUBRC = 0.
CALL FUNCTION 'DOCU_READ'
EXPORTING
ID = DOKIL-ID
LANGU = DOKIL-LANGU
OBJECT = DOKIL-OBJECT
TYP = DOKIL-TYP
VERSION = DOKIL-VERSION
IMPORTING
HEAD = MSTR_THEAD
TABLES
LINE = MTAB_PROGRAM_DOCUMENTATION
EXCEPTIONS
OTHERS = 1.
ENDIF.
*-- Put the report code and texts into a single file
*-- Put the identifier line in so that the start of the TRDIR line
*-- is marked
CONCATENATE MC_TRDIR_IDENTIFIER
MTAB_PROGRAM_TRDIR-NAME
INTO MTAB_PROGRAM_FILE-LINE.
APPEND MTAB_PROGRAM_FILE.
*-- Add the TRDIR line
MTAB_PROGRAM_FILE-LINE = MTAB_PROGRAM_TRDIR.
APPEND MTAB_PROGRAM_FILE.
*-- Put the identifier line in so that the start of the report code
*-- is marked
CONCATENATE MC_REPORT_IDENTIFIER
MTAB_PROGRAM_TRDIR-NAME
INTO MTAB_PROGRAM_FILE-LINE.
APPEND MTAB_PROGRAM_FILE.
*-- Add the report code
LOOP AT MTAB_PROGRAM_SOURCE.
MTAB_PROGRAM_FILE = MTAB_PROGRAM_SOURCE.
APPEND MTAB_PROGRAM_FILE.
ENDLOOP.
*-- Put the identifier line in so that the start of the report text
*-- is marked
CONCATENATE MC_TEXT_IDENTIFIER
MTAB_PROGRAM_TRDIR-NAME
INTO MTAB_PROGRAM_FILE-LINE.
APPEND MTAB_PROGRAM_FILE.
*-- Add the report texts
LOOP AT MTAB_PROGRAM_TEXTS.
MTAB_PROGRAM_FILE = MTAB_PROGRAM_TEXTS.
APPEND MTAB_PROGRAM_FILE.
ENDLOOP.
*-- Put the identifier line in so that the start of the THEAD record
*-- is marked
CONCATENATE MC_THEAD_IDENTIFIER
MTAB_PROGRAM_TRDIR-NAME
INTO MTAB_PROGRAM_FILE-LINE.
APPEND MTAB_PROGRAM_FILE.
MTAB_PROGRAM_FILE = MSTR_THEAD.
APPEND MTAB_PROGRAM_FILE.
*-- Put the identifier line in so that the start of the report
*-- documentation is marked
CONCATENATE MC_DOC_IDENTIFIER
MTAB_PROGRAM_TRDIR-NAME
INTO MTAB_PROGRAM_FILE-LINE.
APPEND MTAB_PROGRAM_FILE.
*-- Add the report documentation
LOOP AT MTAB_PROGRAM_DOCUMENTATION.
MTAB_PROGRAM_FILE = MTAB_PROGRAM_DOCUMENTATION.
APPEND MTAB_PROGRAM_FILE.
ENDLOOP.
*-- Make the fully pathed filename that report will be saved to
CONCATENATE P_PATH
MTAB_PROGRAM_TRDIR-NAME
'.txt'
INTO LC_FULL_FILENAME.
PERFORM SAVE_TABLE_TO_FILE TABLES MTAB_PROGRAM_FILE
USING LC_FULL_FILENAME.
*-- Write out message with Program Name/Description
READ TABLE MTAB_PROGRAM_TEXTS WITH KEY ID = 'R'.
IF SY-SUBRC = 0.
MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME.
MTAB_DIRECTORY-DESC = MTAB_PROGRAM_TEXTS-ENTRY.
MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME.
APPEND MTAB_DIRECTORY.
WRITE: / MTAB_PROGRAM_TRDIR-NAME,
MTAB_PROGRAM_TEXTS-ENTRY(65) COLOR COL_HEADING.
ELSE.
MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME.
MTAB_DIRECTORY-DESC = 'No description available'.
MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME.
APPEND MTAB_DIRECTORY.
WRITE: / MTAB_PROGRAM_TRDIR-NAME.
ENDIF.
ENDLOOP.
ENDFORM. " BUILD_PROGRAM_DIRECTORY
FORM SAVE_TABLE_TO_FILE *
--> FTAB_TABLE *
--> F_FILENAME *
FORM SAVE_TABLE_TO_FILE TABLES FTAB_TABLE
USING F_FILENAME.
IF RB_DOS = 'X'. " Save file to presentation server
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = F_FILENAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = FTAB_TABLE
EXCEPTIONS
OTHERS = 4.
IF SY-SUBRC NE 0.
WRITE: / 'Error opening dataset' COLOR COL_NEGATIVE,
F_FILENAME COLOR COL_NEGATIVE.
ENDIF.
ELSE. " Save file to application server
OPEN DATASET F_FILENAME FOR OUTPUT IN TEXT MODE.
IF SY-SUBRC = 0.
LOOP AT FTAB_TABLE.
TRANSFER FTAB_TABLE TO F_FILENAME.
IF SY-SUBRC NE 0.
WRITE: / 'Error writing record to file;' COLOR COL_NEGATIVE,
F_FILENAME COLOR COL_NEGATIVE.
ENDIF.
ENDLOOP.
ELSE.
WRITE: / 'Error opening dataset' COLOR COL_NEGATIVE,
F_FILENAME COLOR COL_NEGATIVE.
ENDIF.
ENDIF. " End RB_DOS
ENDFORM. " SAVE_PROGRAM
FORM READ_REPORT_FROM_DISK *
Read report into internal table. Can read from local or *
remote computer *
FORM READ_REPORT_FROM_DISK TABLES FTAB_TABLE
USING F_FILENAME.
DATA:
LC_MESSAGE(128) TYPE C.
CLEAR FTAB_TABLE.
REFRESH FTAB_TABLE.
IF RB_DOS = 'X'.
TRANSLATE F_FILENAME USING '/\'. " correct slash for Dos PC file
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = F_FILENAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = FTAB_TABLE
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
IF SY-SUBRC >< 0.
WRITE: / 'Error reading file from local PC' COLOR COL_NEGATIVE.
ENDIF.
ELSEIF RB_UNIX = 'X'.
TRANSLATE F_FILENAME USING '\/'. " correct slash for unix
OPEN DATASET F_FILENAME FOR INPUT MESSAGE LC_MESSAGE IN TEXT MODE.
IF SY-SUBRC = 0.
DO.
READ DATASET F_FILENAME INTO FTAB_TABLE.
IF SY-SUBRC = 0.
APPEND FTAB_TABLE.
ELSE.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET F_FILENAME.
ELSE.
WRITE: / 'Error reading file from remote computer'
COLOR COL_NEGATIVE,
/ LC_MESSAGE,
/ F_FILENAME.
SY-SUBRC = 4.
ENDIF.
ENDIF.
ENDFORM. " READ_REPORT_FROM_DISK
FORM SPLIT_INCOMING_FILE *
--> FTAB_PROGRAM_FILE *
--> FTAB_PROGRAM_SOURCE *
--> ` *
--> FTAB_PROGRAM_TEXTS *
FORM SPLIT_INCOMING_FILE TABLES FTAB_PROGRAM_FILE
STRUCTURE MTAB_PROGRAM_FILE
FTAB_PROGRAM_SOURCE
STRUCTURE MTAB_PROGRAM_SOURCE
FTAB_PROGRAM_TEXTS
STRUCTURE MTAB_PROGRAM_TEXTS
FTAB_PROGRAM_DOCUMENTATION
STRUCTURE MTAB_PROGRAM_DOCUMENTATION
CHANGING FSTR_TRDIR
FSTR_THEAD.
DATA:
LC_DATATYPE(4) TYPE C, " Type of data, REPO, TEXP, RDIR
LC_PROGRAM_FILE LIKE MTAB_PROGRAM_FILE.
LOOP AT FTAB_PROGRAM_FILE.
LC_PROGRAM_FILE = FTAB_PROGRAM_FILE.
CASE LC_PROGRAM_FILE(9).
WHEN MC_TRDIR_IDENTIFIER.
LC_DATATYPE = MC_TRDIR_SHORT.
WHEN MC_REPORT_IDENTIFIER.
LC_DATATYPE = MC_REPORT_SHORT.
WHEN MC_TEXT_IDENTIFIER.
LC_DATATYPE = MC_TEXT_SHORT.
WHEN MC_DOC_IDENTIFIER.
LC_DATATYPE = MC_DOC_SHORT.
WHEN MC_THEAD_IDENTIFIER.
LC_DATATYPE = MC_THEAD_SHORT.
WHEN OTHERS. " Actual contents of report, trdir, or text
CASE LC_DATATYPE.
WHEN MC_TRDIR_SHORT.
FSTR_TRDIR = FTAB_PROGRAM_FILE.
WHEN MC_REPORT_SHORT.
FTAB_PROGRAM_SOURCE = FTAB_PROGRAM_FILE.
APPEND FTAB_PROGRAM_SOURCE.
WHEN MC_TEXT_SHORT.
FTAB_PROGRAM_TEXTS = FTAB_PROGRAM_FILE.
APPEND FTAB_PROGRAM_TEXTS.
WHEN MC_THEAD_SHORT.
FSTR_THEAD = FTAB_PROGRAM_FILE.
WHEN MC_DOC_SHORT.
FTAB_PROGRAM_DOCUMENTATION = FTAB_PROGRAM_FILE.
APPEND FTAB_PROGRAM_DOCUMENTATION.
ENDCASE.
ENDCASE.
ENDLOOP.
ENDFORM. " SPLIT_INCOMING_FILE
FORM INSERT_NEW_REPORT*
--> FTAB_PROGRAM_SOURCE *
--> FTAB_PROGRAM_TEXTS *
--> F_TRDIR *
FORM INSERT_NEW_REPORT TABLES FTAB_PROGRAM_SOURCE
STRUCTURE MTAB_PROGRAM_SOURCE
FTAB_PROGRAM_TEXTS
STRUCTURE MTAB_PROGRAM_TEXTS
FTAB_PROGRAM_DOCUMENTATION
STRUCTURE MTAB_PROGRAM_DOCUMENTATION
USING FSTR_TRDIR LIKE TRDIR
FSTR_THEAD LIKE MSTR_THEAD.
DATA:
LC_OBJ_NAME LIKE E071-OBJ_NAME,
LC_LINE2(40) TYPE C,
LC_ANSWER(1) TYPE C.
*-- read trdir to see if the report already exists, if it does, prompt
*-- user to overwrite or abort.
SELECT SINGLE * FROM TRDIR WHERE NAME = FSTR_TRDIR-NAME.
IF SY-SUBRC = 0. " Already exists
CONCATENATE 'want to overwrite report'
FSTR_TRDIR-NAME
INTO LC_LINE2 SEPARATED BY SPACE.
CONCATENATE LC_LINE2
INTO LC_LINE2.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
DEFAULTOPTION = 'N'
TEXTLINE1 = 'The selected report already exists, do you'
TEXTLINE2 = LC_LINE2
TITEL = 'Report already exists'
CANCEL_DISPLAY = SPACE
IMPORTING
ANSWER = LC_ANSWER
EXCEPTIONS
OTHERS = 1.
ELSE.
LC_ANSWER = 'J'.
ENDIF.
IF LC_ANSWER = 'J'.
*-- Create the TADIR entry. (TRDIR entry created by INSERT REPORT)
LC_OBJ_NAME = TRDIR-NAME.
CALL FUNCTION 'TR_TADIR_POPUP_ENTRY_E071'
EXPORTING
WI_E071_PGMID = 'R3TR'
WI_E071_OBJECT = 'PROG'
WI_E071_OBJ_NAME = LC_OBJ_NAME
WI_TADIR_DEVCLASS = '$TMP'
EXCEPTIONS
EXIT = 3
OTHERS = 4.
IF SY-SUBRC = 0.
*-- Create Report
INSERT REPORT FSTR_TRDIR-NAME FROM FTAB_PROGRAM_SOURCE.
*-- Create Texts
INSERT TEXTPOOL FSTR_TRDIR-NAME FROM FTAB_PROGRAM_TEXTS
LANGUAGE SY-LANGU.
*-- Save Documentation
CALL FUNCTION 'DOCU_UPDATE'
EXPORTING
HEAD = FSTR_THEAD
STATE = 'A'
TYP = 'E'
VERSION = '1'
TABLES
LINE = FTAB_PROGRAM_DOCUMENTATION
EXCEPTIONS
OTHERS = 1.
ELSE.
WRITE: / 'Error updating the TADIR entry' COLOR COL_NEGATIVE,
'Program' COLOR COL_NEGATIVE INTENSIFIED OFF,
FSTR_TRDIR-NAME, 'was not loaded into SAP.'
COLOR COL_NEGATIVE INTENSIFIED OFF.
ENDIF.
ELSE.
WRITE: / FSTR_TRDIR-NAME COLOR COL_NEGATIVE,
'was not uploaded into SAP. Action cancelled by user'
COLOR COL_NEGATIVE INTENSIFIED OFF.
ENDIF.
ENDFORM. " INSERT_NEW_REPORT
FORM GET_NAME *
--> VALUE(F_FIELD) *
--> F_NAME *
FORM GET_NAME USING VALUE(F_FIELD)
CHANGING F_NAME.
DATA: LTAB_FIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE,
LC_PROG LIKE D020S-PROG,
LC_DNUM LIKE D020S-DNUM.
TRANSLATE F_FIELD TO UPPER CASE.
refresh ltab_fields.
LTAB_FIELDS-FIELDNAME = F_FIELD.
append ltab_fields.
LC_PROG = SY-REPID .
LC_DNUM = SY-DYNNR .
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = LC_PROG
DYNUMB = LC_DNUM
TABLES
dynpfields = ltab_fields
EXCEPTIONS
OTHERS = 01.
read table ltab_fields index 1.
IF SY-SUBRC EQ 0.
F_NAME = LTAB_FIELDS-FIELDVALUE.
refresh ltab_fields.
ENDIF.
CALL FUNCTION 'F4_USER'
EXPORTING
OBJECT = F_NAME
IMPORTING
RESULT = F_NAME.
ENDFORM. " GET_NAME
Program Texts
DIR File Download Options (File Selection)
FIL File Options
FNA Enter filename below (under File Options)
H01 Prog Name
H03 Program Description
SNG Upload a single file
UDL Upload to SAP/Download from SAP
UPL File Upload Options
R Backup/Restore program source code with texts
P_PATH Path to save programs to
RB_DOS Files on local computer
RB_DOWN Download Programs
RB_FILE Upload a single file
RB_LIST Select program(s) from a list
RB_UNIX Files on remote computer
RB_UP Upload Programs to SAP
S_CDAT Date Created
S_CNAM Created by UserID
S_NAME Program Name
S_SUBC Program Type
S_UDAT Date Changed
S_UNAM Last Changed by UserID
Regards,
Joy. -
Problem with catalog upload program !!
Hi GURUs,
Using CCM upload program we are trying to upload a file for deleting/adding/changing supplier catalog items.
- Some times it work fine.
- But some times supplier catalog is going into error.
- The display log on CCM screen is all green with no errors.
- When checked in SLG1 we are getting error "Error when deleting item XXXXXXX (ID)",though the item is present in supplier catalog.
Kindly help.
Note: We are at CCM2.0
Thanks in Adv. !!
VivekHi Serguei,
Thanks for your reply.
our content file format is XLS (Excel sheet). We are having customized program to load the data into CCM. The program inturn convert the .XLS file into XML format. This program is directly submitting the jobs in background to load the data into CCM.
Due to this I am not sure how to debug this and capture the defect.
Kindly help.
Thanks in Adv. !!
Vivek -
Creation of subtypes for a custom PD Infotype.
HI Experts,
We are in the process of creating a custom PD infotype (say 9003 and hrp9003 is the table).
We want the infotype to have 2 subtypes (say 01 and 02).
We followed the steps and created the infotypes and also made sure that we create 2 subtypes and we were successful till here.
However, when we try to maintain data in IT9003(pp01), we never get an option to specify the subtype and hence whatever data we save doesnu2019t have any value in subtype field.
Please help up out to save data with subtypes.
We want something similar to infotype 1001, where we can select the relationship(subtype) and save accordingly.
How to make the subtype appear in the data creation screen? Do we have to do some changes in the module pool program?
Regards,
Ravikeerthi.Check the tables V_778U.....assign your subtypes to custom PD Infotype.
Check the table for Your PD infotype and subtype assigned to Object Type..
SPRO --> OM --> Basic Settings -->Data Model Enhancement -->Infotype Maintenance
Mohan -
How to upload data in a custom table in quality server
Hi All,
I want to upload data in custom table in quality server.
I forgot to tranfer TMG into QA. I also don't send any upload program to QA.
Is there any way to upload data directly to table in quality server i.e. by use of debugging.
Regards,
NarendraHi Narendra,
As suggested by Jorge you can create data through T-code SM30 (for this you need to have table maintainence generator in development) and get it tranported to Quality and production and maintain the data through it or else to can create a request for data creation through SM30 in development and get it transported to quality and production.
Thanks,
Chinmay -
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
-
Error when loading customer's applicatio​n build script
I'm updating a program for a customer to include a module that we have developed. We're required to use an application builder script because of the way the VIs work.
Anyways, when I attempt to load the build script for the LabView 6.1 application, eventually an error box comes up with the following message:
Error 1 occured at Program Files:\National Instruments\LabVIEW 6.1\vi.lib\addons\_office\_wordsub.llb\_Word Dynamic VIs.vi - invalid path.
Possible Reasons:
LabVIEW: An input parameter is invalid.
or
NI-488: Command requires GPIB Controller to be Controller in Charge.
I'm confused about the Program Files:\ syntax. Is this a valid reference? I can only assume so, as I believe they used this build script in the past. I'm currently working on Win2k, and I do not know what the customer's machine is running.
Is there a particular Windows or LabView setting that would let this build script work? If not, is there an application build script editor that I can use to change the file reference?Yes it's a valid path, see attached screen cap of the exact path on my computer (except version 8.2).
It looks like the target computer is just missing the MS Office toolkit, or the installation was not Typical. Tell the user to install the toolkit in the proper directory and it should compile.
Message Edited by Broken Arrow on 06-04-2008 09:08 AM
Richard
Attachments:
forum path pic.JPG 70 KB -
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 -
Reg: LSMW to Upload Unlaoding Points to Customer Master
Dear Gurus,
I have created an LSMW program to upload "Unloading Points" into Customer Master Record.
It is working fine with single Unloading Point.
There are multiple Unloading Points need to be maintained for every Customer.
Can anyone provide me the logic to maintain multiple unloading points in Customer Master?
XD02-ABLAD = XD02_S-ABLAD.
Here the "ABLAD" is the Unloading Point.
Regards,
RKlooks like you did a recording.
in the standard given methods like IDOC, there you would have an extra record for the unloading point, you would just add as much records as you need. -
Mass upload of data into Custom table
Hello all,
I made search in SDN and could not find the best solution to my problem and hence posting .
What is the best way for Mass upload of data into Custom database table ?
I think LSMW would not be a viable option as it would take longer time .
Locking of the table also needs to be taken care.
PLease let me know if you have a alternative to this and the best way to do this .
Comradely,
K.SibiHi Sibi,
See Lock objects are required when we enter the data through screen level, or multiple users should not enter the data at same time.
Create one Lock object in SE11, It automatically creates FM.
DEQUEUE_EYTEST2 Release lock on object EYTEST2
ENQUEUE_EYTEST2 Request lock for object EYTEST2
Call these FM in your program.
EX: Refer this links
1 http://help.sap.com/saphelp_nw70/helpdata/en/41/7af4c8a79e11d1950f0000e82de14a/content.htm
2 http://wiki.sdn.sap.com/wiki/display/Snippets/lockingandunlockingofthe+tables
Rgds
Aeda -
Data load - Customer and quotation
Hi
I need to load customer data from the legacy into SAP using LSMW.. I found the standard program RFBIDE00 for this. Will this program help me load the data for all account groups ?
My 2nd question is - Is there any standard prog/BAPI or IDoc to load Quotations(VA21) into SAP ? How will this be accomplished ?
Thanks1) You enter the account group in BKN00-KTOKT, so I don't see any restriction on the account group.
2) See if:
BAPI_QUOTATION_CREATEFROMDATA Customer quotation: Create customer quotation
BAPI_QUOTATION_CREATEFROMDATA2 Customer Quotation: Create Customer Quotation
is what you want.
Rob -
Excel extractor produces error "Error 8 when compiling the upload program"
I am trying to test a new Excel extractor I've created but when I do so I get the following error:
RSAR233
Error 8 when compiling the upload program: row 446, message: A newer version of data type /BIC/B0000788000 was
I've tried reactivating transfer structures and transfer rules but with no success. When I activate the transfer structures I can see in the status bar briefly a message refering "Activating Structure /BIC/B0000788000". I am assuming it's the technical name of the structure which supports the extraction.
Any ideas?
Thanks for the help.OK, I can see your point. The Communication structure fields have data types, CHAR, CURR and DATS (those are the data types for the info-objects I am trying to load).
But if I try to assign the same data types to the objects of the transfer structure which match the flat file I get errors like "Invalid data type (DATS) for source systems of type Ext. System.". What I understand this means is that I cannot use data types other than CHAR in the flat file structure so how can I assign data from a CHAR flat file to a DATS destination object? Do I need some kind of conversion? How? Do I really need a routine in the transfer rules?
Maybe you are looking for
-
Using multiple apple ids on a single pc for photostream/calendar
Is it possible to keep two apple id's signed on for photostream to one pc? So far I have only found that you can have one account signed on at a time. I would like both my iphone and my wifes iphone to be able to load pictures onto our single pc with
-
Hi, I am using an '07 MacBook 13" and have been using the Canon EOS utility to transfer photos from my camera to my laptop for the past year. I upgraded my camera about one month ago and reinstalled the Canon software with the disc supplied and have
-
File name and Measuremen​t in the same table?
Hi, I have written the following VI that opens up each image file from a folder and measures a certain dimension on the image. It then puts the result of the measurement in a table. The table has one column and N rows since I have N images in my fold
-
Why am I not able to donate via text message?
After I sent a code to donate, I get a message asking what my billing zip code is. I reply with that and get a response saying, "Your wireless account is not eligible to donate. Your donation cannot be processed. You can still donate at redcross.org.
-
Thread problems - shutting down.
Okay, I've got my multi-threaded server program working just fine and all is well...until I shut down the server. By some quirky twist of fate, java chat servers seem to be a popular education assignment in the last two weeks, which will probably put