IBM COBOL-DB2 with ATMI calls program - buildserver
Hi..
Am using IBM COBOL for AIX 5.3.. I have installed Oracle Tuxedo 10gr3 and DB2 V9.5 on AIX..
I have written a sample client and server COBOL DB2 with ATMI calls program..
I have configured Tuxedo for DB2 according to the document given by IBM
https://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.admin.2pc.doc/doc/t0005113.html
I have precompiled, binded and compiled the server program.. while building the server with the command am getting the following errors even after configuring:
buildserver -C -r UDB_XA -f COBDBSR.cbl -f DBSTART.cbl -f CHECKERR.cbl -f CHECKSEL.cbl -o COBDBSR -s COBDBSR
PP 5724-H44 IBM COBOL for AIX 2.0.0 in progress ...
End of compilation 1, program COBDBSR, no statements flagged.
PP 5724-H44 IBM COBOL for AIX 2.0.0 in progress ...
End of compilation 1, program DBSTART, no statements flagged.
PP 5724-H44 IBM COBOL for AIX 2.0.0 in progress ...
End of compilation 1, program CHECKERR, no statements flagged.
PP 5724-H44 IBM COBOL for AIX 2.0.0 in progress ...
End of compilation 1, program CHECKSEL, no statements flagged.
ld: 0711-317 ERROR: Undefined symbol: .SQLGPSTART
ld: 0711-317 ERROR: Undefined symbol: .SQLGINTP
ld: 0711-317 ERROR: Undefined symbol: .SQLGGSTT
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
CMDTUX_CAT:1832: ERROR: can't execute cc -brtl -qstaticinline -qrtti=all -I$TUXDIR/include -o COBDBSR BS-23f054.c -L${TUXDIR}/lib -L${IBMCOBOL}/lib COBDBSR.o DBSTART.o CHECKERR.o CHECKSEL.o -lcob2s -lsmrtlite -brtl -qstaticinline -lcobatmis -ltux -lbuft -L${DB2PATH}/lib -ldb2 -lfml -lfml32 -lengine -lpthread
those undefined symbols mentioned are calls to sql in the programs DBSTART.cbl, CHECKERR.cbl and CHECKSEL.cbl
is this buildserver command correct for COBOL-DB2 program with ATMI calls?? any idea regarding this??
Thanks in advance..
Hi..
Now buildserver is working fine..
Before while configuring Tuxedo for DB2 i have included this resource manager and constructed the transaction manager using buildtms command..
# DB2 UDB
UDB_XA:db2xa_switch_std:-L${DB2DIR}/lib -ldb2
where DB2DIR points to <instance name>/sqllib.. and the buildserver gave errors..
later i changed the resource manager as
# DB2 UDB
UDB_XA:db2xa_switch_std:-L${DB2DIR}/lib32 -ldb2
and now everything is fine..
Similar Messages
-
Reference for writing COBOL prog with DB2 with ATMI calls for Oracle Tuxedo
Hi..
Am using IBM COBOL for AIX 2.0.0 on Oracle Tuxedo10g R3..
And for database IBM DB2 Version 8.2..
I have to write a program in Cobol with queries and with ATMI calls for Tuxedo..
I need some reference manuals for this or some sample program..
I also need the connectivity from cobol-DB2 to Tuxedo..
Can anyone send me link for the same?
The tutorial CSIMPAPP and STOCKAPP was really helpful..
Am searching for the similar kind..
Thanks in advance..
Edited by: user8103349 on Mar 19, 2009 8:43 PMHi,
Hopefully someone has some DB2 COBOL code to share. But in any case, using Tuxedo with COBOL and DB2 should be very similar to simply writing normal DB2 COBOL programs. The major difference is that Tuxedo will take care of making the connection to the database and should normally be allowed to perform all transaction management.
From a configuration standpoint you'll need to add the appropriate line in the Tuxedo RM file that lists how Tuxedo needs to link DB2 XA libraries into the application. The connection information is provided in the OPENINFO string passed along to the TMS that you need to build for DB2 with the buildtms command, and finally you'll need to build your servers with the -r switch to tell Tuxedo which XA libraries need to be linked into the application.
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
Dear All,
I am getting a below error while doing ehp6 installation on sybase (high availbility )
can any one help me on this..?
An error occurred while processing option SAP Business Suite 7i 2011 > Enhancement Package 6 for SAP ERP 6.0 > SAP Application Server ABAP > SAP ASE > High-Availability System > Database Instance( Last error reported by the step: System call failed. Error 2 (The system cannot find the file specified. ) in execution of system call 'CreateProcessAsUser' with parameter ( , NULL, Program Files/sapinst_instdir/BS2011/ERP606/AS-ABAP/SYB/HA/DB, &StartupInfo, &ProcessInfo), line (646) in file (d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\syslib\synxcchapp.cpp), stack trace: d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\ejs\ejscontroller.cpp: 181: EJSControllerImpl::executeScript() d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\ejs\jsextension.hpp: 1059: CallFunctionBase::call() d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\osmod\iaxxbprocess.cpp: 423: CIaOsProcess::start_impl() d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\syslib\synxcchapp.cpp: 238: CSyChildApplicationImpl::start(false) d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\syslib\synxcchapp.cpp: 262: CSyChildApplicationImpl::doStart() .). You can no
Regards,
Letz..Hello Mauricio.
Thanks
Two Thinks:
1.- This error appears precisely in the process of creating SAP users including you mention sidadm:
A.- Execute sapinst
B.- Installation option is chosen
SAP NetWeaver CE Production Edition
Installation Options
High-Availability System
Central Service Instance (SCS)
c.- System ID, Next and appear message error
2.- However, the user manually create sidadm, I gave the permissions you indicate, and the error message is the same
Thanks -
After restoring my phone with the desktop program I can no longer receive calls
I recently got my third curve and I finally figured out that something with the computer program is not allowing me to receive calls. I tried clearing off the device and I can get calls, but as soon as I sync it with the saved info on the computer it wont receive calls anymore..isn't there a setting or something that I have to change so that I can receive calls?? And I know it isn't just my computer because my friend is having the exact same problem right now...HEELLPP!!!
I tried something similar by adding a new mail account doing the apple id etc but it worked in that it would look for mail but no mail would come even though mail still goes to my phone I was loath to delete my original account just in case the new one did not work as well. So I guess I am a little stuck now.. I hope you can help me to sort it out.
Thanks -
Call program and return with data
Hi, Experts,
I have called a program from my main program using SUBMIT
and return.
I need to get data back from called program in table format.
Is there any way to fullfill such requirement.
Regards
Rajiv singh.if the program is custom , then you can use import and export option. you can export the data to memory in the submit program, and import from memory after submit call.
if it Standard program , in some standard programs also will export data to memory , so check in inside the program. -
COBOL client unable to call Tuxedo methods (CSIMPAPP tutorial for Windows 2000 OS)
Hi,
This relates to another post below. I have compiled the COBOL client and the COBOL
server and produced .exes however when I get runtime problems now
I get the message: exec CSIMPSRV -A CMDTUX_CAT:819 INFO: Process id=1912 Assume
started (pipe) but when I do tmadmin/psr, the process is (DEAD)
Also when I run the client I get an error as soon as the client gets to a call
to a Tuxedo method e.g. USERLOG or TPCALL, i get an error message
Load error : file "USERLOG"
error code 173 pc=0, call=1 seg=0
173 called program not found in drive/directoryI have added %TUXDIR% to my path and everything.
Any suggestions?
Thanks
ColmWinfried - Thanks for that, this might mean something
These are the steps I take:
Compile the CSIMPCL.cbl file using the COBOL.exe command ( Mcrofocus/NetExpress/bin)
etc
Then
cblnames -v -mCSIMPCL CSIMPCL.obj
buildclient -C -o CSIMPCL -f CSIMPCL.obj -f cbllds.obj
ALl compiles ok - then when I run CSIMPCL.exe I get the error as detailed below
already
Load error : file "USERLOG"
error code 173 pc=0, call=1 seg=0
173 called program not found in drive/directory
However I got mailed a copy of CSIMPCL.obj which had been built with Net Express
4
then
cblnames -v -mCSIMPCL CSIMPCL.obj
buildclient -C -o CSIMPCL -f CSIMPCL.obj -f cbllds.obj as before
When I ran it ( without booting the server - just telling the client to send a
message to the BBL and display a response) it ran fine
so i think the COBOL.exe in Net Express 3 is not creating the obj file properly.
I haven't hooked it up to WTC yet but it should work
Any views you have are much appreciated. I'd be loth to blame a compiler if I
hadn't some variable set but all the environmental variables seem to be in the
path.
"Winfried Scheulderman" <[email protected]> wrote:
>
Colm,
Looks like a general problem running Cobol to me.
The first message indicates something went wrong during server startup,
see e.g.:
http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_clfydoc&answerpage=solution&page=tux%2FS-03850.htm
and
http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_clfydoc&answerpage=solution&page=tux%2FS-16674.htm
The cause for this is probably the same as for other error message.
You should check the settings for running Cobol programs (clients and
servers),
especially the library path.
Winfried
"Colm O'Regan" <[email protected]> wrote:
Hi,
This relates to another post below. I have compiled the COBOL client
and the COBOL
server and produced .exes however when I get runtime problems now
I get the message: exec CSIMPSRV -A CMDTUX_CAT:819 INFO: Process id=1912
Assume
started (pipe) but when I do tmadmin/psr, the process is (DEAD)
Also when I run the client I get an error as soon as the client gets
to a call
to a Tuxedo method e.g. USERLOG or TPCALL, i get an error message
Load error : file "USERLOG"
error code 173 pc=0, call=1 seg=0
173 called program not found in drive/directoryI have added %TUXDIR% to my path and everything.
Any suggestions?
Thanks
Colm -
Submit report in background and get result into calling program
Hi,
I want to call the standard SAP program from Zprogram to create invoice using Submit. here the code
SUBMIT RV60SBT1 TO SAP-SPOOL
SPOOL PARAMETERS print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB name NUMBER number
WITH VKOR1 eq TVKO-VKORG
with X_VBELN eq gv_vbeln_so
with ALLEA eq 'X'
with ALLEL eq ''
AND RETURN.
the standard SAP program creates invoice (billing document number). I want to get the billing document number which created using the above statement into the calling program. ......could anyone pls tell me how to do this? ie how to read the billing document number in the calling program.
Regrds
shan
Edited by: Shankar Raju Devadoss on Mar 21, 2011 9:00 AMHi Shankar,
You can try it in both ways.
1. By using the parameter ID VF. (GET PARAMETE ID)
2. Select the invoice numbers from the table VBRK for the current date (SY-DATUM) and
sort it by time and get the latest invoice.
Regards
Hareesh Menon -
RFC hangs with a call to function module SSFC_PARSE_CERTIFICATE
Hello ,
We are working on BI 7.0 SP9 .
When we try to test the RFC connection from the WAS Abap to the portal ( WAS JAVA ) using SM59 , the test is hanging but we can read in the bottom of the screen 'Connexion bcv51sf2... OK' !!!
The test connection works sometimes .
But when its not working , with the debug mode , I can see that the program SAPLSSFG/LSSFGU19 is hanging in the function module SSF_GET_PARAMETER with a call to the function SSFC_PARSE_CERTIFICATE
CALL FUNCTION 'SSFC_PARSE_CERTIFICATE'
EXPORTING
CERTIFICATE = PABCERT
IMPORTING
SUBJECT = STR_PROFILEID
EXCEPTIONS
SSF_KRN_ERROR = 1
SSF_KRN_NOMEMORY = 2
SSF_KRN_NOSSFLIB = 3
SSF_KRN_INVALID_PAR = 4
OTHERS = 5.
ENDIF.
ENDIF.
ENDFUNCTION.
The variable STR_PROFILEID has the value of the field ID of the table SSF_PSE_H
STR_PROFILEID =CN=QWO, OU=XXXXX, O=YYYY, C=FR
Due to this error , we cant transport BI Web templates because at the end of the import in the method execution of the transport there is a call to the portal with the RFC. And the transport is hanging
Thanks in advance for you help .
Happy new year. Milan.Hi Frank ,
See below the result of the test :
Test for function group SSFG
Function module SSF_GET_PARAMETER
Export parameters
Value
APPFOUND
<SYST>
SSFTOOLKIT
SAPSECULIB
STR_FORMAT
PKCS7
STR_PAB
/usr/sap/QWO/DVEBMGS01/sec/SAPSYS.pse
STR_PAB_PASSWORD
STR_PROFILEID
CN=QWO, OU=XXXX, O=YYYY, C=FR
STR_PROFILE
/usr/sap/QWO/DVEBMGS01/sec/SAPSYS.pse
STR_PROFILEPW
STR_HASHALG
SHA1
STR_ENCRALG
DES-CBC
B_INCCERTS
X
B_DETACHED
B_DISTRIB
X
But my problem now , it's that 1 of the 2 RFC is working fine and the other one after 1 good rfc test , is hanging now at the end of the function 'CONVERSION_EXIT_ISOLA_OUTPUT' line 14 !!!
See below the ABAP stack just before the hanging .
1 FUNCTION CONVERSION_EXIT_ISOLA_OUTPUT.
2 *"----
3 ""Lokale Schnittstelle:
4 *" IMPORTING
5 *" VALUE(INPUT)
6 *" EXPORTING
7 *" VALUE(OUTPUT)
8 *"----
9 OUTPUT = SAVE_INPUT(1) = INPUT.
10 CHECK SAVE_INPUT(1) NA ' *'.
11 SELECT SINGLE * FROM T002 WHERE SPRAS = INPUT.
12 CHECK SY-SUBRC = 0.
13 OUTPUT = T002-LAISO.
14 ENDFUNCTION.
Stack Dep Event type Event Program Include Line
10 FUNCTION CONVERSION_EXIT_ISOLA_OUTPUT SAPLLANG LLANGU04 14
9 FORM CONVERSION_EXIT SAPCNVE SAPCNVE 107
8 EVENT SYSTEM-EXIT SAPLDSYA <SYSINI> 20
7 FUNCTION DOKU_OBJECT_EXIST SAPLDSYA LDSYAU09 43
6 FORM FILL_EXCL_TAB RSDBRUNT RSDBRUNT 5.664
5 FORM %_INIT_PBO_LAST RSDBRUNT RSDBRUNT 4.061
4 FORM INIT_PBO RSDBRUNT RSDBRUNT 3.666
3 FORM %_INIT_PBO_NEW RSRFCPIN RSRFCPIN 496
2 MODULE (PBO) %_INIT_PBO RSRFCPIN RSRFCPIN 496
1 EVENT SYSTEM-EXIT RSRFCPIN <SYSINI> 20
As i said in the first post , the RFC test is hanging sometimes but now it seems that it's not hanging everytime at the same line of the abap code , if i can trust the debugger !
...and after another RFC test , now all the RFC to the portal are working ...
It seems that when it's hanging , it's at the end of the functions ( SYSTEM_CALLSTACK
or CONVERSION_EXIT_ISOLA_OUTPUT or SSF_GET_PARAMETER ) .
A memory or OS problem ?
Best Regards. Milan. -
I am trying to display an interactive Adobe Form in the webdynpro for abap.
But i'm getting this error:
The following error text was processed in system AED : Type conflict with ASSIGN in program CL_WD_ADOBE_SERVICES==========CP .
The error occurred on application server AIERD_AED_00 and in work process 1 .
The termination type was: RABAX_STATE
The ABAP call hierarchy was:
Method: NODE_2_DDIC of program CL_WD_ADOBE_SERVICES==========CP
Method: DATASOURCE_2_FM_PARAMS of program CL_WD_ADOBE_SERVICES==========CP
Method: CREATE_PDF_DDIC of program CL_WD_ADOBE_SERVICES==========CP
Method: CREATE_PDF of program CL_WD_ADOBE_SERVICES==========CP
Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/CADOBE==================CP
Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/CADOBE==================CP
Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C8STANDARD==============CP
Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C8STANDARD==============CP
Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C7STANDARD==============CP
Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program CL_WDR_VIEW_ADAPTER===========CP
Is there any problem with some Adobe config or somewhere a mistake in my code.Follow this thread
[Displaying a Smartform as PDF in WDA;
Thanks
Siva -
User Exit to call program to create IDocs.
Hi All,
For any creation/changes of material master using MM01/MM02 (after save ) one of the user exit will trigger.
From the user exit, I have to call the custom program to create MATMAS IDOCs.
if any failures in changes/creation of material master. It has to roll back eveything created by program.
Please let me know how to achieve this with out calling an event.
Thanks - VinayThere are a number of standard methods to automatically create the IDOC. You can activate the change pointers and depending on need, use BD64 to create a distribution model, and create the necessary WE20 setups to create the outbound IDOC.
If you have to process the IDOC using custom logic, you can define that as well - although it's not clear why you need a custom generating program. You can insert code into one of the IDOC user-exits to manipulate the content if needed. Also, don't overlook the pre-delivered stuff from SAP that provides filtering out of segments and the like.
There are a few good SAP PRess books about doing ALE distribution -- if this is an unfamiliar area, it's worth the cost to buy one -- if you spend any time around IDOCS, you'll appreciate it. -
Problem with direct input program while uploading data into database
TABLES: BGR00, " Mappensatz
BMM00, " MM01/MM02 BTCI-Kopfdaten
BMMH1, " MM01/MM02 Hauptdaten
BMMH2, " Länderdaten (Steuern)
BMMH3, " Prognosewerte
BMMH4, " Verbrauchswerte
BMMH5, " Kurztexte
BMMH6, " Mengeneinheiten
BMMH7, " Langtexte
BMMH8. " Referentielle EAN's
Satztypen
DATA: MAPPENSATZ LIKE BMM00-STYPE VALUE '0',
KOPFSATZ LIKE BMM00-STYPE VALUE '1',
HAUPTSATZ LIKE BMM00-STYPE VALUE '2',
KUN_SATZ LIKE BMM00-STYPE VALUE 'Z',
LANDSATZ LIKE BMM00-STYPE VALUE '3',
PROGSATZ LIKE BMM00-STYPE VALUE '4',
VERBSATZ LIKE BMM00-STYPE VALUE '5',
KTEXTSATZ LIKE BMM00-STYPE VALUE '6',
MESATZ LIKE BMM00-STYPE VALUE '7',
TEXTSATZ LIKE BMM00-STYPE VALUE '8',
EANSATZ LIKE BMM00-STYPE VALUE '9'.
Common Data Bereich fuer die extern aufgerufenen Routinen
Initialstrukturen
DATA: BEGIN OF COMMON PART RMMMBIMY.
DATA: BEGIN OF I_BMM00.
INCLUDE STRUCTURE BMM00. " Kopfdaten
DATA: END OF I_BMM00.
DATA: BEGIN OF I_BMMH1.
INCLUDE STRUCTURE BMMH1. " Haupdaten
DATA: END OF I_BMMH1.
DATA: BEGIN OF I_BMMH2.
INCLUDE STRUCTURE BMMH2. " Länderdaten
DATA: END OF I_BMMH2.
DATA: BEGIN OF I_BMMH3.
INCLUDE STRUCTURE BMMH3. " Prognosewerte
DATA: END OF I_BMMH3.
DATA: BEGIN OF I_BMMH4.
INCLUDE STRUCTURE BMMH4. " Verbrauchswerte
DATA: END OF I_BMMH4.
DATA: BEGIN OF I_BMMH5.
INCLUDE STRUCTURE BMMH5. " Kurztexte
DATA: END OF I_BMMH5.
DATA: BEGIN OF I_BMMH6.
INCLUDE STRUCTURE BMMH6. " Mengeneinheiten
DATA: END OF I_BMMH6.
DATA: BEGIN OF I_BMMH7.
INCLUDE STRUCTURE BMMH7. " Textzeilen
DATA: END OF I_BMMH7.
DATA: BEGIN OF I_BMMH8.
INCLUDE STRUCTURE BMMH8. " Referentielle EAN's
DATA: END OF I_BMMH8.
DATA: END OF COMMON PART.
DATA: WA LIKE TEDATA-DATA.
Einzelfelder
DATA: GROUP_COUNT(6) TYPE C, " Anzahl Mappen
TRANS_COUNT(6) TYPE C, " alte Definition für rmmmbim0
SATZ_COUNT LIKE MUEB_REST-TRANC, " Trans.zähler neu
H_IND_COUNT LIKE MUEB_REST-D_IND, " Index welches Feld zurücks.
SATZ2_COUNT(6) TYPE C. " Anz. Sätze je Trans. ohne Kopfsatz
DATA: XEOF(1) TYPE C, " X=End of File erreicht
XHAUPTSATZ_EXIST TYPE C, " X=Hauptsatz zum Kopf exi.
NODATA(1) TYPE C. " kein BI für dieses Feld
mk/15.08.94:
DATA: GROUP_OPEN(1) TYPE C. " X=Mappe schon geöffnet
*eject
Konstanten
DATA: C_NODATA(1) TYPE C VALUE '/'. " Default für NODATA
DATA: MATNR_ERW LIKE MARA-MATNR VALUE '0 '.
DATA: MATNR_ERW_INT LIKE MARA-MATNR. "internal sight of '0 '
DATA: MATNR_LAST LIKE MARA-MATNR. "Material number
mk/11.08.94 2.1H:
If this flag is initial, the database updates will be done directly
during background maintenance instead of using a separate update
task. (no usage of this flag in dialogue mode!)
DATA: DBUPDATE_VB(1) VALUE ' '. "note 306628
data: matsync type mat_sync. "wk/99a no update in dialog if called
***INCLUDE ZMUSD070.
TABLES: MARA, "Material Master: General Data
MARC, "Material Master: C Segment
MARD, "Material Master: St Loc/Batch
MBEW, "Material Valuation
MVKE, "Material Master: Sales Data
MLGN, "Material Data per Whse Number
MLAN, "Tax Classification: Material
T001W, "Plants/Branches
TBICU.
DATA: BEGIN OF VALUTAB OCCURS 0.
INCLUDE STRUCTURE RSPARAMS.
DATA: END OF VALUTAB.
DATA: BEGIN OF VARTECH.
INCLUDE STRUCTURE VARID.
DATA: END OF VARTECH.
DATA: PARMS LIKE ZXXDCONV.
DATA: REC_COUNT TYPE I,
REC_COUNT_BAD TYPE I,
ZJOBID LIKE TBIZU-JOBID,
ZJOBCOUNT LIKE TBIZU-JOBCOUNT,
ZMATNR LIKE MARA-MATNR,
ZTEXT(80) TYPE C.
CONSTANTS: LIT_ZERO(18) TYPE C VALUE '000000000000000000',
LIT_CHAR TYPE C VALUE '_',
LIT_CREATE LIKE BMM00-TCODE VALUE 'MM01',
LIT_CHANGE LIKE BMM00-TCODE VALUE 'MM02',
LIT_CHECK(1) TYPE C VALUE 'X'.
DATA: BEGIN OF INP_DATA OCCURS 0,
MATNR(18) TYPE C, " Material code
UMREN(6) TYPE C, " Denominator
MEINH(3) TYPE C, " Alternate UOM
UMREZ(6) TYPE C, " Numerator
END OF INP_DATA.
*eject
SELECTION-SCREEN BEGIN OF BLOCK INOUT WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (13) TEXT-004.
PARAMETERS: P_PC RADIOBUTTON GROUP SRC DEFAULT 'X'.
SELECTION-SCREEN COMMENT (6) TEXT-005.
PARAMETERS: P_UNIX RADIOBUTTON GROUP SRC.
SELECTION-SCREEN COMMENT (6) TEXT-006.
PARAMETERS: P_DS_TYP LIKE ZXXDCONV-DS_TYP
DEFAULT 'ASC'.
SELECTION-SCREEN END OF LINE.
*SELECT-OPTIONS: S_PATH FOR PARMS-PATH
NO INTERVALS
LOWER CASE.
PARAMETERS: P_PATH TYPE RLGRAP-FILENAME.
PARAMETERS: P_HDRLIN LIKE ZXXDCONV-HDR_LINES
DEFAULT 0,
P_JOBNAM LIKE TBICU_S-JOBNAME
MEMORY ID BM1,
P_DI_EXE AS CHECKBOX
DEFAULT LIT_CHECK,
P_MAPPE LIKE BGR00-GROUP
DEFAULT 'MRP_UOM_LOAD'
NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK INOUT.
*eject
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_PATH'
CHANGING
FILE_NAME = S_PATH-LOW
FILE_NAME = P_PATH
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
AT SELECTION-SCREEN.
Set up parameter record
PARMS-UNIX = P_UNIX.
PARMS-PC = P_PC.
PARMS-DS_TYP = P_DS_TYP.
PARMS-JOBNAME = P_JOBNAM.
PARMS-MAPPE = P_MAPPE.
PARMS-HDR_LINES = P_HDRLIN.
*eject
Main Processing Routine *
START-OF-SELECTION.
Initialization
PERFORM 0000_HOUSEKEEPING.
Initialize transaction data in I_BM00
PERFORM 0500_INIT_BMM00.
Process input files
SORT S_PATH BY SIGN OPTION LOW.
MOVE S_PATH-LOW TO PARMS-PATH.
MOVE P_PATH TO PARMS-PATH.
LOOP AT S_PATH.
AT NEW LOW.
CLEAR INP_DATA.
REFRESH INP_DATA.
Read source data into internal table
PERFORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
Processs each record in internal table
ZTEXT = TEXT-007.
ZTEXT+13 = PARMS-DS_NAME.
PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.
Initialize transaction data in I_BM00
PERFORM 0500_INIT_BMM00.
LOOP AT INP_DATA.
Reset tables for each record
BMM00 = I_BMM00.
BMMH1 = I_BMMH1.
BMMH6 = I_BMMH6.
Load structures with data
MOVE-CORRESPONDING INP_DATA TO BMM00.
PERFORM 2000_WRITE_OUTPUT USING BMM00.
MOVE-CORRESPONDING INP_DATA TO BMMH1.
PERFORM 2000_WRITE_OUTPUT USING BMMH1.
MOVE-CORRESPONDING INP_DATA TO BMMH6.
PERFORM 2000_WRITE_OUTPUT USING BMMH6.
REC_COUNT = REC_COUNT + 1.
ENDLOOP.
ENDAT.
ENDLOOP.
IF REC_COUNT GT 0
AND P_DI_EXE EQ LIT_CHECK.
PERFORM 3000_START_DI_JOB.
ENDIF.
WRITE: / TEXT-008,
REC_COUNT.
PERFORM 9000_END_OF_JOB.
*eject
Include containing common routines used by direct input programs
INCLUDE ZMUSD071.
*eject
FORM 0500_INIT_BMM00 *
Initialize I_BMM00 with transaction code and views selected *
FORM 0500_INIT_BMM00.
***this changes done by samson**
if not inp_data[] is initial.
select single matnr from mara INTO ZMATNR where matnr = inp_data-matnr.
if sy-subrc = 0.
I_BMM00-TCODE = LIT_CHANGE.
Basic data
I_BMM00-XEIK1 = LIT_CHECK.
else.
I_BMM00-TCODE = LIT_CREATE.
Basic data
I_BMM00-XEIK1 = LIT_CHECK.
endif.
endif.
**this changes above done by samson**
Transaction code
I_BMM00-TCODE = LIT_CHANGE.
Basic data
I_BMM00-XEIK1 = LIT_CHECK.
ENDFORM.
INCLUDE ZMUSD069.
*eject
FORM 0000_HOUSEKEEPING *
Initialization routines *
FORM 0000_HOUSEKEEPING.
PERFORM 0010_LDS_NAME.
PERFORM 0020_DS_NAME.
PERFORM 0030_OPEN_FILE.
PERFORM 0040_INIT_STRUCTS.
ENDFORM.
*eject
FORM 0010_LDS_NAME *
Obtain logical file name from DI job details *
FORM 0010_LDS_NAME.
Check valid job name
SELECT SINGLE * FROM TBICU
WHERE JOBNAME EQ PARMS-JOBNAME.
IF SY-SUBRC EQ 0.
CALL FUNCTION 'RS_VARIANT_VALUES_TECH_DATA'
EXPORTING
REPORT = TBICU-REPNAME
VARIANT = TBICU-VARIANT
IMPORTING
TECHN_DATA = VARTECH
TABLES
VARIANT_VALUES = VALUTAB
EXCEPTIONS
VARIANT_NON_EXISTENT = 1
VARIANT_OBSOLETE = 2
OTHERS = 3.
IF SY-SUBRC EQ 0.
READ TABLE VALUTAB WITH KEY 'LDS_NAME'.
MOVE VALUTAB-LOW TO PARMS-LDS_NAME.
ELSE.
MESSAGE I001 WITH PARMS-JOBNAME.
MESSAGE A099.
ENDIF.
ELSE.
MESSAGE I000 WITH PARMS-JOBNAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
FORM 0040_INIT_STRUCTS *
Initialize structures for direct input records *
FORM 0040_INIT_STRUCTS.
Start of standard SAP initialization from example program RMMMBIME
*------- Write session record -
CLEAR BGR00.
BGR00-STYPE = MAPPENSATZ.
BGR00-GROUP = PARMS-MAPPE.
BGR00-NODATA = C_NODATA.
BGR00-MANDT = SY-MANDT.
BGR00-USNAM = SY-UNAME.
BGR00-START = BGR00-NODATA.
BGR00-XKEEP = BGR00-NODATA.
PERFORM 2000_WRITE_OUTPUT USING BGR00.
*----- Initialize structures -
NODATA = BGR00-NODATA.
PERFORM INIT_STRUKTUREN_ERZEUGEN(RMMMBIMI) USING NODATA.
End of standard SAP initialization from example program RMMMBIME
ENDFORM.
*eject.
FORM 3000_START_DI_JOB *
Start direct input job *
FORM 3000_START_DI_JOB.
ZTEXT = 'Starting '(021).
ZTEXT+9 = TBICU-JOBNAME.
PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.
CALL FUNCTION 'BI_START_JOB'
EXPORTING
JOBID = ' '
JOBTEXT = TBICU-JOBNAME
REPNAME = TBICU-REPNAME
SERVER = TBICU-EXECSERVER
VARIANT = TBICU-VARIANT
NEW_JOB = 'X'
CONTINUE_JOB = ' '
START_IMMEDIATE = 'X'
DO_NOT_PRINT = 'X'
USERNAME = SY-UNAME
IMPORTING
JOBID = ZJOBID
JOBCOUNT = ZJOBCOUNT
EXCEPTIONS
JOB_OPEN_FAILED = 1
JOB_CLOSE_FAILED = 2
JOB_SUBMIT_FAILED = 3
WRONG_PARAMETERS = 4
JOB_DOES_NOT_EXIST = 5
WRONG_STARTTIME_GIVEN = 6
JOB_NOT_RELEASED = 7
WRONG_VARIANT = 8
NO_AUTHORITY = 9
DIALOG_CANCELLED = 10
JOB_ALREADY_EXISTS = 11
PERIODIC_NOT_ALLOWED = 12
ERROR_NUMBER_GET_NEXT = 13
OTHERS = 14.
IF SY-SUBRC EQ 0.
WRITE: / 'Direct input job'(022), TBICU-JOBNAME, 'started'.
ELSE.
WRITE: / 'Direct input failed with return code'(023), SY-SUBRC.
ENDIF.
FORM 0020_DS_NAME.
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
CLIENT = SY-MANDT
LOGICAL_FILENAME = PARMS-LDS_NAME
OPERATING_SYSTEM = SY-OPSYS
IMPORTING
FILE_NAME = PARMS-DS_NAME
EXCEPTIONS
FILE_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
MESSAGE E002 WITH PARMS-LDS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
FORM 0030_OPEN_FILE *
Open physical file for output *
FORM 0030_OPEN_FILE.
OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE. "thg191105
OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE
encoding default. "thg191105
IF SY-SUBRC NE 0.
MESSAGE E003 WITH PARMS-DS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
FORM 1000_GET_SOURCE_DATA *
Read source data into internal table *
--> INP_DATA " Name of internal table passed as parameter *
FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
CALL FUNCTION 'Z_FILE_UPLOAD'
EXPORTING
UNIX = PARMS-UNIX
PC = PARMS-PC
FILETYPE = PARMS-DS_TYP
FILENAME = PARMS-PATH
HDR_LINES = PARMS-HDR_LINES
TABLES
DATA_TAB = INP_DATA
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
INVALID_SOURCE = 8
OTHERS = 9.
ENDFORM.
*eject
FORM 2000_WRITE_OUTPUT *
Write record in standard SAP structure to UNIX file *
--> I_STRUCT " Name of record passed as parameter *
*FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05
FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY. "SRY28NOV05
TRANSFER I_STRUCT TO PARMS-DS_NAME.
IF SY-SUBRC NE 0.
MESSAGE E004 WITH PARMS-DS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
*& Form 2100_WS_DOWNLOAD
text *
--> p1 text
<-- p2 text
FORM 2100_WS_DOWNLOAD TABLES INP_DATA.
DATA: FILENAME LIKE RLGRAP-FILENAME. "SRY28NOV05
DATA: W_FILENAME TYPE STRING. "SRY28NOV05
DATA: W_FTYP(10) TYPE C VALUE 'DAT'. "SRY28NOV05
MOVE PARMS-DS_NAME TO FILENAME. "SRY28NOV05
MOVE PARMS-DS_NAME TO W_FILENAME. "SRY28NOV05
*BEGIN OF BLOCK COMMENT BY SRY28NOV05
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = ' '
CODEPAGE = ' '
FILENAME = FILENAME
FILETYPE = 'DAT'
MODE = ' '
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
COL_SELECT = ' '
COL_SELECTMASK = ' '
importing
filelength =
TABLES
DATA_TAB = INP_DATA
FIELDNAMES =
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
*END OF BLOCK COMMENT BY SRY28NOV05
*BEGIN OF BLOCK ADDED BY SRY28NOV05
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = W_FILENAME
FILETYPE = W_FTYP
TABLES
DATA_TAB = INP_DATA
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*END OF BLOCK ADDED BY SRY28NOV05
ENDFORM. " 2100_WS_DOWNLOAD
*eject
FORM 4000_PROGRESS_INDICATOR *
Write progress text to status bar *
--> TEXT " Text passed as parameter *
FORM 4000_PROGRESS_INDICATOR USING TEXT.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT
EXCEPTIONS
OTHERS = 1.
ENDFORM.
*eject.
FORM 9000_END_OF_JOB *
Close files on UNIX *
FORM 9000_END_OF_JOB.
CLOSE DATASET PARMS-DS_NAME.
ENDFORM.
FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
CALL FUNCTION 'Z_FILE_UPLOAD'
EXPORTING
UNIX = PARMS-UNIX
PC = PARMS-PC
FILETYPE = PARMS-DS_TYP
FILENAME = PARMS-PATH
HDR_LINES = PARMS-HDR_LINES
TABLES
DATA_TAB = INP_DATA
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
INVALID_SOURCE = 8
OTHERS = 9.
ENDFORM.
*eject
FORM 2000_WRITE_OUTPUT *
Write record in standard SAP structure to UNIX file *
--> I_STRUCT " Name of record passed as parameter *
*FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05
FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY. "SRY28NOV05
TRANSFER I_STRUCT TO PARMS-DS_NAME.
IF SY-SUBRC NE 0.
MESSAGE E004 WITH PARMS-DS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
*& Form 2100_WS_DOWNLOAD
text *
--> p1 text
<-- p2 text
FORM 2100_WS_DOWNLOAD TABLES INP_DATA.Hi,
Thnaks for your reply, This is my requirement.
Here my problem is i am trying to upload the data from flatfile which contain materil number, denominator, Actual UOM, Nominator field values.
Which is the data i need to upload into MM02 and MM01, if material number is new then it has to create the material, if material is already existing it has to update the UOM values.
here i am getting data into my internal table INP_DATA, from that i am trying to upload the data to database by using job name MRP_MATERIAL_MASTER_DATA_UPLOAD with direct input program RMDATIND.
when i execute my program i am getting success message all the records writtin from flatfile to application server. and job started message.
then if i go into sm37 screen there i execute the job it is also giving active message. if i refresh it it is showing job completed message.
then i look at job log status. there i found that for existing material it is expecting material type, for new material it is giving some gravity error.
So could u help me in this it will be gr8.
Thanks & Regards,
RamNV -
Problem with a wrapper program.
Hi all,
we are facing problem with a wrapper program,through which we are calling three different xml reports.
when we independently submit these xml reports thorugh front end .
All the three programs run successfully & gives the desired output.
but when we run this through wrapper program.
All ths three programs run successfully ,but don't give output,i.e. output file comes as blank.
when I 'VIEW DETAILS" on the SRS window, the only difference between the independent program & the report through wrapper program is the 'UPON COMPLETION..'part.
The 'UPON COMPLETION..'part. for the independent program shows the RTF Template Layout name ,while the program submitted through the wrapper program doesn't show the layout name.
i have registered all the three reports as XML REPORTS,while the wrapper program as "package_name.procedure_name" & 'TEXT' as an output format.
can anybody tell us , the problem??
thanks.Wow, that's a lot of work. This isn't any different than PL/SQL in the real Oracle world. Parameters are named or positional. Named input uses the assignment operator of =>. Positional takes them in order per the procedure/function signature. In SQL*Plus, do a desc on fnd_request (owned by apps) and tell us what the "default" column represents.
If you have been typing in all arguments, figure out how many times you've done that, how much time it took, multiply it by your hourly rate, and then tell your manager you owe your company that amount of money for having wasted so much time.
function submit_request (
application IN varchar2 default NULL,
program IN varchar2 default NULL,
description IN varchar2 default NULL,
start_time IN varchar2 default NULL,
sub_request IN boolean default FALSE,
argument1 IN varchar2 default CHR(0),
argument2 IN varchar2 default CHR(0),
argument3 IN varchar2 default CHR(0),
argument4 IN varchar2 default CHR(0),
argument5 IN varchar2 default CHR(0),
argument6 IN varchar2 default CHR(0),
argument7 IN varchar2 default CHR(0),
argument8 IN varchar2 default CHR(0),
argument9 IN varchar2 default CHR(0),
argument10 IN varchar2 default CHR(0),
argument11 IN varchar2 default CHR(0),
argument12 IN varchar2 default CHR(0),
argument13 IN varchar2 default CHR(0),
argument14 IN varchar2 default CHR(0),
argument15 IN varchar2 default CHR(0),
argument16 IN varchar2 default CHR(0),
argument17 IN varchar2 default CHR(0),
argument18 IN varchar2 default CHR(0),
argument19 IN varchar2 default CHR(0),
argument20 IN varchar2 default CHR(0),
argument21 IN varchar2 default CHR(0),
argument22 IN varchar2 default CHR(0),
argument23 IN varchar2 default CHR(0),
argument24 IN varchar2 default CHR(0),
argument25 IN varchar2 default CHR(0),
argument26 IN varchar2 default CHR(0),
argument27 IN varchar2 default CHR(0),
argument28 IN varchar2 default CHR(0),
argument29 IN varchar2 default CHR(0),
argument30 IN varchar2 default CHR(0),
argument31 IN varchar2 default CHR(0),
argument32 IN varchar2 default CHR(0),
argument33 IN varchar2 default CHR(0),
argument34 IN varchar2 default CHR(0),
argument35 IN varchar2 default CHR(0),
argument36 IN varchar2 default CHR(0),
argument37 IN varchar2 default CHR(0),
argument38 IN varchar2 default CHR(0),
argument39 IN varchar2 default CHR(0),
argument40 IN varchar2 default CHR(0),
argument41 IN varchar2 default CHR(0),
argument42 IN varchar2 default CHR(0),
argument43 IN varchar2 default CHR(0),
argument44 IN varchar2 default CHR(0),
argument45 IN varchar2 default CHR(0),
argument46 IN varchar2 default CHR(0),
argument47 IN varchar2 default CHR(0),
argument48 IN varchar2 default CHR(0),
argument49 IN varchar2 default CHR(0),
argument50 IN varchar2 default CHR(0),
argument51 IN varchar2 default CHR(0),
argument52 IN varchar2 default CHR(0),
argument53 IN varchar2 default CHR(0),
argument54 IN varchar2 default CHR(0),
argument55 IN varchar2 default CHR(0),
argument56 IN varchar2 default CHR(0),
argument57 IN varchar2 default CHR(0),
argument58 IN varchar2 default CHR(0),
argument59 IN varchar2 default CHR(0),
argument60 IN varchar2 default CHR(0),
argument61 IN varchar2 default CHR(0),
argument62 IN varchar2 default CHR(0),
argument63 IN varchar2 default CHR(0),
argument64 IN varchar2 default CHR(0),
argument65 IN varchar2 default CHR(0),
argument66 IN varchar2 default CHR(0),
argument67 IN varchar2 default CHR(0),
argument68 IN varchar2 default CHR(0),
argument69 IN varchar2 default CHR(0),
argument70 IN varchar2 default CHR(0),
argument71 IN varchar2 default CHR(0),
argument72 IN varchar2 default CHR(0),
argument73 IN varchar2 default CHR(0),
argument74 IN varchar2 default CHR(0),
argument75 IN varchar2 default CHR(0),
argument76 IN varchar2 default CHR(0),
argument77 IN varchar2 default CHR(0),
argument78 IN varchar2 default CHR(0),
argument79 IN varchar2 default CHR(0),
argument80 IN varchar2 default CHR(0),
argument81 IN varchar2 default CHR(0),
argument82 IN varchar2 default CHR(0),
argument83 IN varchar2 default CHR(0),
argument84 IN varchar2 default CHR(0),
argument85 IN varchar2 default CHR(0),
argument86 IN varchar2 default CHR(0),
argument87 IN varchar2 default CHR(0),
argument88 IN varchar2 default CHR(0),
argument89 IN varchar2 default CHR(0),
argument90 IN varchar2 default CHR(0),
argument91 IN varchar2 default CHR(0),
argument92 IN varchar2 default CHR(0),
argument93 IN varchar2 default CHR(0),
argument94 IN varchar2 default CHR(0),
argument95 IN varchar2 default CHR(0),
argument96 IN varchar2 default CHR(0),
argument97 IN varchar2 default CHR(0),
argument98 IN varchar2 default CHR(0),
argument99 IN varchar2 default CHR(0),
argument100 IN varchar2 default CHR(0))
return number; -
Bizarre RDP Issue with opening remote program with Visual ERP
So I have two VM's one running SQL server with an ERP program called Visual that has several components and an RDP server that end users log into. We are running windows 2012R2 on both. Everyday around 5:30 the VMFG program for visual stops working until I reboot the RDP server, people already in are fine but anyone trying to open it get the below error. It basically says it can't open the file on the SQL server anymore, yet if I can open the UNC path from the RDP and click on the executable(still crashes with same error), it runs fine locally on the SQL server and other parts of Visual Kios/Time and attendance work fine. I tried removing the anti-virus, checking backups, checking for scheduled tasks, checking event viewer logs, performance monitor, etc and can't seem to figure out this oddity. Any ideas would be greatly appreciated....
This topic first appeared in the Spiceworks CommunityHi,
As this happens with him specific from MRD MAC check whether he is taking RDP with IP address or hostname. Also try to uncheck the Option "Bypass RD Gateway for local address" under RDSH configuration and verify the result.
Also for more detail he can collect log from MAC side by following path.
Microsoft Remote Desktop>About Microsoft Remote Desktop>Send log via email
Hope it helps!
Thanks.
Dharmesh Solanki
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected] -
Search help - Need to read dynpro of the calling program
Hello all,
We have a requirement where we need to read the dynpro of the calling program of a search help.
Say I have a screen (selection screen, module pool or ALV grid etc) where I have a field PARTNER with whom a custom search help is attached. But on this same screen there is another field RLTYP. What we want is that when an F4 is taken on PARTNER, the value of RLTYP should also be passed as value to the Search help exit.
In short, we need to read the screen fields of the calling screen of a search help.
Any ideas are appreciated.
Regards
PriyankaCheck the sample code:
FUNCTION F4IF_SHLP_EXIT_OFFRCONT.
""Local interface:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCT
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" VALUE(SHLP) TYPE SHLP_DESCR
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL
DATA : ws_flag(1) TYPE c,
ws_rec(1) TYPE c.
DATA : i_dynpfields TYPE dynpread OCCURS 0 WITH HEADER LINE.
DATA : ws_data TYPE ddshiface,
i_data TYPE ddshifaces.
ws_flag = 'X'.
ws_rec = 'X'.
IF ws_flag = 'X'.
i_dynpfields-fieldname = 'P_CUST'.
APPEND i_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = '1000'
TABLES
dynpfields = i_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
READ TABLE i_dynpfields WITH KEY fieldname = 'P_CUST'.
ws_data-shlpfield = 'ZCUSTOMER'.
ws_data-valfield = 'G_SIMFIELDS-FIELDNAME'.
ws_data-value = i_dynpfields-fieldvalue.
APPEND ws_data TO i_data.
ws_data-shlpfield = 'ZOFFRCONT'.
ws_data-valfield = 'P_CONT'.
ws_data-f4field = 'X'.
APPEND ws_data TO i_data.
LOOP AT shlp_tab.
IF ws_rec = 'X'.
shlp_tab-interface[] = i_data[].
APPEND shlp_tab.
ws_rec = ' '.
ENDIF.
ENDLOOP.
DELETE shlp_tab INDEX 1.
ws_flag = ' '.
ENDIF.
ENDFUNCTION.
Regards,
Prakash. -
Updating a table used in a calling program
I am creating an internal version of the notification report program and would like to use a table created in the called program in the main program.
I generate the data in the called program and would like to "pass" the data into a holding table in the calling program.
For instance called program loads table i_hold_text, I would like to pass this to calling program ZRIPRSN00 table GT_HOLD_TEXT to use in the SAPScript. Ideas?You could use field-symbols.
like
DATA: l_text(18) VALUE '(SOURCE_PROGRAM_NAME)table_name[]'.
field-symbols <fs> type table.
Assign (ltext) to <fs>.
if sy-subrc eq 0.
"Do what you want with <fs>
endif.
Maybe you are looking for
-
Interval Since Last Panic Report: 30536 sec Panics Since Last Report: 1 Anonymous UUID: 607D9979-1C74-04D7-EA6E-CCF8837A6E71 Tue Jan 14 22:09:18 2014 panic(cpu 2 caller 0xffffff7f9ba88f1a): "GPU Panic: [<None>] 5 3 7f 0 0 0 0 3 : NVRM[0/1:0
-
I installed CC on my and my wife's home workstations months ago. Today, I installed Photoshop on my new laptop while at work and, not surprisingly, received a message at launch about my two-device limit having already been reached. The options pres
-
Macpro and using a TV as another viewing option at the same time as display
Hi, I have a MacPro and I'm trying to edit some footage but want to use my Radeon X1900 with one output going to my 23inch Apple display the other output going to my TV. I have the setting in FCP veiw menu to "All Frames" & "Digital Cinema Desktop Pr
-
Connection to MySQL ..
Hi, I got this code from the mysql connector site. I have the mysql-connector-java-3.1.6-bin.jar in the folder c:\ and i excute my code with the following argument : -classpath "C:\mysql-connector-java-3.1.6-bin.jar" But i stil get the error : java.l
-
Can't transfer video evn though video is in right format
Ok i downloaded Videora and i transcoded my video and when i go 2 properties of the video it says its a avisynth script now. i open iTunes and i tryed 2 drag and drop the video and it had the little plus sign on the iPod and I released the mouse butt