JCoIDoc.Server HandleRequest IDoc
Hi Experts,
I've some problem to use "JCoIDoc.Server". I try to send an IDoc CLSMAS03 to a non-sap system (using SAPJCo).
With the sample code of the library, I'm able to process RFC call from SAP to my java application, call some BAPI's from Java to R3. But I can't receive any IDoc from R3. IDoc's status = 03 in R3 but in SM58 I got the following error (meta data for IDoc Type CLSMAS03 is unavailable). I can send this IDoc to an other SAP System without any problem.
There are no problems with my logon properties (User "JSIS" copied from DDIC with SAP_ALL, SAP_NEW & S_A.SYSTEM and its password is in uppercase). No problem to handle any RFC done to my Java app. and I suppose no problem with my server definition. My SAP plateform is not an UNICODE one.
There is a part of my source code
// server properties to log on at the gateway server
java.util.Properties srvProps = new java.util.Properties();
srvProps.put("jco.server.gwhost", "192.168.2.100");
srvProps.put("jco.server.gwserv", "sapgw00");
srvProps.put("jco.server.progid", "JSIS");
srvProps.put("jco.server.unicode", "0"); // enter "1" for unicode
// systems
// client properties to log on for repository queries
java.util.Properties clntProps = new java.util.Properties();
clntProps.put("jco.client.client", "000");
clntProps.put("jco.client.user", "JSIS");
clntProps.put("jco.client.passwd", "HELLOYOU");
clntProps.put("jco.client.lang", "EN");
clntProps.put("jco.client.ashost", "192.168.2.100");
clntProps.put("jco.client.sysnr", "00");
// create a JCo client pool
JCO.addClientPool("BSP", 5, clntProps);
// create a JCo repository that will be used for querying
// meta data for standard function requests
IRepository jcoRepository = JCO.createRepository("RFC","BSP");
// create an IDoc repository that will be used for querying
// IDoc meta data
IDoc.Repository idocRepository = JCoIDoc.createRepository("IDOC", "BSP");
// create a JCoIDoc.Server instance
MyIDocServer server = new MyIDocServer(srvProps, jcoRepository, idocRepository);
// start the JCoIDoc.Server instance and listen for incoming
// function requests and IDocs
server.start();
System.out.println("Server started !");
There is the console result when I execute an RFC from SAP to Java
Server started !
Incoming function request 'ZJSIS_TEST'...
Storing function request as XML file 'ZJSIS_TEST_20071202133639.xml'...
There is the console result when I execute an IDoc sending from SAP to Java
Server started !
Check TID: C0A80264028C4752A6DD0045
RollBack TID: C0A80264028C4752A6DD0045
Confirm TID: C0A80264028C4752A6DD0045
In SM58: ...The meta data for the IDoc type "CLSMAS03" is unav. C0A80264028C4752A6DD0045
Please HELP.
Thanks
Thanks for your help !!!!!!
Similar Messages
-
JCoIDoc.Server doesn't stop listening even after removing the application
Hi,
I developed a java application with a JCoIDoc.Server to listen for IDocs from the R/3 system. I made it available in the WAS 2004s server. The application is working fine, i.e its catching the IDocs coming from R/3. The problem is, it doesnt stop listening even if i remove the application from the server.
How should I make the server stop listening?
Thanks,
VenkatHi,
You need to call the disconnect method to release the connection from the server
JCoIDoc.Server t; // Your Server Instance
t.disconnect();
Why dont you use JCO RFC Privider Service?
Regards
Ayyapparaj -
JCo IDOC Server - some IDOCs missing
Hi All,
I have created a JCoIDOC Server to receive IDOCs from SAP through tRFC. If one or two IDOCs are sent from SAP,
my JCoIDOC server receives them properly. But if more IDOCs( say 20) are sent from SAP, my JCOIDOC server is not receiving all the IDOCs. Some IDOCs are missing. I don't know if they are lost forever.
Did any of you face this problem before?If so, please explain what is happening? what could be the reason?
Thanks and Regards,
Vijaya Gopal.Did you ever get a solution to this?
-
JCoIDoc.Server stops receiving
We are using SAP Java Connector 2.1.8 and we have problem that sometimes our application stops receiving of IDOCs. It works good again if our application is restarted and makes new connection. We have an information that SAP system can mark our connected receiver (JCoIDoc.Server implementation) as offline and SAP will stop sending to us.
The solution should probably be implementation of JCO.ServerStateChangedListener, where we have to react correctly to change of status. None example or specification show how it must be done exactly. Does following code describe what we have to do? My example unregister and register new instance of JCoIDoc.Server in case of JCO.STATE_STOPPED.
Martin Zak
class SapIdocServer extends JCoIDoc.Server {
SapIdocServer myServer;
void startServer() {
java.util.Properties srvProps = new java.util.Properties();
java.util.Properties clntProps = new java.util.Properties();
JCO.addClientPool(JCO_POOL_NAME, SAP_POOL_CONNECTION_NUM, clntProps);
jcoRepository = JCO.createRepository(jcoRepositoryName, JCO_POOL_NAME);
idocRepository = JCoIDoc.createRepository(idocRepositoryName, JCO_POOL_NAME);
mySapIdocServer = new SapIdocServer(srvProps, jcoRepository, idocRepository);
void stopServer() {
mySapIdocServer.suspend();
class MyListener implements JCO.ServerStateChangedListener {
serverStateChangeOccurred(Server server, int old_state, int new_state) {
if ((new_state & JCO.STATE_STOPPED ) != 0) {
stopServer(); // ending of not working server
startServer(); // new start of server
void main() {
startSever(); // start server when application startThe JCO.Server would reconnect automatically, if it recognizes a connection interruption. So you don't have to do this on your own. You also will not receive the STATE_STOPPED in this case. The issue is, that the server does not recognize an error and therefore does not stop.
Please see note [1494757|https://service.sap.com/sap/support/notes/1494757] for further explanations and recommendations on this.
Besides this, your coding looks correct at first sight, but unfortunately is useless.
Additionally, in a multi-application environment you should always check the passed Server instance in your listener interface. As the listeners are global, you would also be notified about events that are meant for other servers in your environment. So a the check like "server instanceof SapIdocServer" would make sure that the given event is for you. -
Start JCoIDoc.Server within SAP WAS
Hello,
is it possible to start an JCoIDoc.Server in the SAP WAS Server? I´ try to start this server within a WebDynpro application to receive Idocs, only if the server is started. Or have you any best practice to do something like that?
Regards
VerenaThanks for your help !!!!!!
-
How to Create PR from exeternal SQL Server through IDOC
Dear all,
I am in trouble while creating PR from exeternal SQL Server through IDOC . although I have created PR from TCODE we19 giving input as well as from function writen below
My scnerio is from external system(Sql) want to send data to sap to create PR return PR No to SQl Server
Not having idea how to do
Basic Type for Idoc : PREQCR01
Message Type : PREQCR
Function Module : BAP_Idoc_Input1
Thanxs in Advanceif you have XI installed,
than it would be easy,
just use JDBC channel->XI->SAP IDOC.
otherwise,
you can export the table from the SQL to CSV file,
and import it with LSMW with IDOC PREQCR01. -
Access Server-SAP IDOC Message Question
Hi.
We have configured an access server to receive realtime IDOC messages from SAP. Required configuration has been done on the BODS side:
On Web admin console for RFC client configuration and real-time service configuration
On the SAP RFC Connection, logical system, and partner profile setup side.
Issue is on the SAP side it shows message was sent successfully where as on the BODS side the message received count is 0.
Any insights any one can share regarding how to troubleshoot this issue would be really appreciated
Thanks
RajivThanks. It was an IDOC mismatch error.
Now we do have correct IDOC mismatch but to me now it seems to be a data issue now.
I have the real-time job and I am getting the following error when I view Access server logs.
SP(PPROLL01, l1.no.com:3500)::flowThread() Flow became invalid during waiting for request (BODI-300137)
Unknown: R3RfcClient(NewR3Rfc_1) ActaIDocFunc::Process() encountered processing error for Requeste(4) (Communication Error. See real time job log for details.) (IDOC 0000000000209266/RPD210 ). (BODI-300129)
Real time job log does not show any thing in the error log other than the trace log which shows:
DATAFLOW: Cache statistics determined that data flow <DF_ZFII034_PPAYROLL01_TEST_RT> uses <0> caches with a total size of <0> bytes. This is less than(or equal to) the virtual memory <3757047808> bytes available for caches. Statistics is switching the cache type to IN MEMORY.
To check if the mapping is valid I created another batch job using the same IDOC as used in the real-time job above but BODS gives me a generic error. I had all tracing enabled even then it gave a generic error.
458946 1 RUN-050505 08/09/2009 3:45:25 PM |Dataflow DF_SAP_BATCH_V1|Transform Q1-Nest1
458946 1 RUN-050505 08/09/2009 3:45:25 PM Unknown error in transform <Q1-Nest1>.
All the fields in the input are varchar or date type and the repository database and staging database is oracle 10G.
Thanks for the help,
Rajiv -
Allowed naming convention on SAP Server for IDoc files???
Hello everybody,
When I send any outbound IDoc, it saves a copy of that IDoc on the server in text format. I want to know what are the different file name conventions I can use? Can the file be automatically named with the information below?
Date + Time + Purchase Order # + EDI Transaction Code + .txt ? Where do you program/configure for the names of the IDoc files used in IDoc communication?
Please refer me to some documentation or other files/threads if needed..
Thanks,
Charles.Check with below links :
ftp://ftp.software.ibm.com/software/ts/cw/adapters/WSAdapterForSAP/Guides/sap6021.pdf
http://www.erpgenie.com/sapgenie/docs/advanced_guide_to_edi_configuration.doc
http://www.erpgenie.com/sapedi/operations.htm
I have done but i used datetimemessagetype.txt.
you can setup these things in FILE Transaction,here we can use logical file,logical path,physical file,physical path,IDOC FM will use FILE_GET_NAME to get dynamic file.
you can search in SDN like File transaction or FILE_GET_NAME.
Thanks
Seshu -
Transfer data from one server to another server using idocs
hi,crm
i have a data in crm system, i want to download this data and upload into another crm system by using idocs.
please any one explain.Hi Ravi,
my senario is i have to transfer data from crm 5.0 to 7.0.
i have marketing attributes
t-code: bp----> marketing attributes
i want to transfer marketing attributes from A to B.
i created one structure for marketing attributes around 160. and i added this structure fields into custom segments.
i created custom idoc type and i added segments into idoc.
i created one function module for getting data from structure and passing to segments and idoctype.
check the code below.
FUNCTION ZCRMXIF_MKT_DATA.
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(EV_MKT_ATTR) TYPE ZCRMXIF_MKT_STR
Data : c_segment type ZE101CRMXIF_MKT_ATTR_DATA,
c_segment1 type ZE101CRMXIF_MKT_ATTR_DATA1,
c_segment2 type ZE101CRMXIF_MKT_ATTR_DATA2,
c_segment3 type ZE101CRMXIF_MKT_ATTR_DATA3,
c_segment4 type ZE101CRMXIF_MKT_ATTR_DATA4.
data: c_messagetype type c value'zcrmxif_partner_save',
c_idoc_type type c value'zcrmxif_partner_save_mkt',
idoc_control like edidc,
t_comm_control like edidc occurs 0 with header line,
idoc_data like edidd occurs 0 with header line.
data: lt_mkt_attr type Zcrmxif_mkt_str occurs 0 with header line,
ls_mkt_attr like zcrmxif_mkt_str.
loop at lt_mkt_attr.
c_segment-PARTNER = lt_mkt_attr-partner.
c_segment-PARTNER_GUID = lt_mkt_attr-partner_guid.
idoc_data-segnam = 'ZE101CRMXIF_MKT_ATTR_DATA' .
idoc_data-sdata = c_segment.
append idoc_data.
c_segment1-ADHAR_NUM = lt_mkt_attr-ADHAR_NUM.
c_segment1-ADULTS = lt_mkt_attr-ADULTS.
c_segment1-AGEGROUP = lt_mkt_attr-AGEGROUP.
c_segment1-AG_CODE = lt_mkt_attr-AG_CODE.
c_segment1-AMERICANEXPRESS = lt_mkt_attr-AMERICANEXPRESS.
c_segment1-ANNUALINCOME = lt_mkt_attr-ANNUALINCOME.
c_segment1-AUTO_TYPE_1 = lt_mkt_attr-AUTO_TYPE_1.
c_segment1-AUTO_TYPE_2 = lt_mkt_attr-AUTO_TYPE_2.
c_segment1-AUTO_TYPE_3 = lt_mkt_attr-AUTO_TYPE_3.
c_segment1-A_HOMEDEL = lt_mkt_attr-A_HOMEDEL.
c_segment1-BANKNAME = lt_mkt_attr-BANKNAME.
c_segment1-BLOODPRESSURE = lt_mkt_attr-BLOODPRESSURE.
c_segment1-BPRELATION = lt_mkt_attr-BPRELATION.
c_segment1-BRAND = lt_mkt_attr-BRAND.
c_segment1-CC1001 = lt_mkt_attr-CC1001.
c_segment1-CC1002 = lt_mkt_attr-CC1002.
c_segment1-CCCLASSIC = lt_mkt_attr-CCCLASSIC.
c_segment1-CCGOLD = lt_mkt_attr-CCGOLD.
c_segment1-CCOTHERS = lt_mkt_attr-CCOTHERS.
c_segment1-CCPLAT = lt_mkt_attr-CCPLAT.
c_segment1-CCREDIT = lt_mkt_attr-CCREDIT.
c_segment1-ccsilver = lt_mkt_attr-ccsilver.
c_segment1-CCTITA = lt_mkt_attr-CCTITA.
c_segment1-CDEBIT = lt_mkt_attr-CDEBIT.
c_segment1-CHILDREN = lt_mkt_attr-CHILDREN.
c_segment1-CITIBANK = lt_mkt_attr-CITIBANK.
c_segment1-CNAPP = lt_mkt_attr-CNAPP.
c_segment1-CNC_PRINT = lt_mkt_attr-CNC_PRINT.
c_segment1-CNC_SIZE = lt_mkt_attr-CNC_SIZE.
c_segment1-CNC_SIZE_NEW = lt_mkt_attr-CNC_SIZE_NEW.
c_segment1-CNC_STATUS = lt_mkt_attr-CNC_STATUS.
c_segment1-CNC_TIME_ZONE = lt_mkt_attr-CNC_TIME_ZONE.
c_segment1-CNC_TIME_ZONE_NEW = lt_mkt_attr-CNC_TIME_ZONE_NEW.
c_segment1-CONDFIRSTZ = lt_mkt_attr-CONDFIRSTZ.
c_segment1-COMPANY = lt_mkt_attr-COMPANY.
c_segment1-CONDSECOND = lt_mkt_attr-CONDSECOND.
c_segment1-CONDTHIRD = lt_mkt_attr-CONDTHIRD.
c_segment1-CUSTOMERTYPE = lt_mkt_attr-CUSTOMERTYPE.
c_segment1-CUST_BUSINESS_NAME = lt_mkt_attr-CUST_BUSINESS_NAME.
c_segment1-DECL_DATE = lt_mkt_attr-DECL_DATE.
c_segment1-DED = lt_mkt_attr-DED.
c_segment1-DIST = lt_mkt_attr-DIST.
c_segment1-DNC = lt_mkt_attr-DNC.
c_segment1-DNCEMAIL = lt_mkt_attr-DNCEMAIL.
c_segment1-DNCPHONE = lt_mkt_attr-DNCPHONE.
c_segment1-DNCPOST = lt_mkt_attr-DNCPOST.
c_segment1-DOB_FAM_2 = lt_mkt_attr-DOB_FAM_2.
c_segment1-DOB_FAM_3 = lt_mkt_attr-DOB_FAM_3.
c_segment1-DOB_FAM_4 = lt_mkt_attr-DOB_FAM_4.
c_segment1-PLANG = lt_mkt_attr-PLANG.
* c_segment1-APPL_SNAME = lt_mkt_attr-APPL_SNAME.
idoc_data-segnam = 'ZE101CRMXIF_MKT_ATTR_DATA1'.
idoc_data-sdata = c_segment4.
append idoc_data.
c_segment2-DTPCARDGIVCOU = lt_mkt_attr-DTPCARDGIVCOU.
c_segment2-DTPCARDOFF = lt_mkt_attr-DTPCARDOFF.
c_segment2-DTPCARDOTHSTORE = lt_mkt_attr-DTPCARDOTHSTORE.
c_segment2-DTPCARDRETCOU = lt_mkt_attr-DTPCARDRETCOU.
c_segment2-DTPCARDSHREDDED = lt_mkt_attr-DTPCARDSHREDDED.
c_segment2-DTWELCOMCALL = lt_mkt_attr-DTWELCOMCALL.
c_segment2-DUDZ = lt_mkt_attr-DUDZ.
c_segment2-EDUDR = lt_mkt_attr-EDUDR.
c_segment2-DTPCARDSTORE = lt_mkt_attr-DTPCARDSTORE.
c_segment2-EDUER = lt_mkt_attr-EDUER.
c_segment2-EDUG = lt_mkt_attr-EDUG.
c_segment2-EDUHS = lt_mkt_attr-EDUHS.
c_segment2-EDULAW = lt_mkt_attr-EDULAW.
c_segment2-FOURWHEELER = lt_mkt_attr-FOURWHEELER.
c_segment2-FULL_NAME = lt_mkt_attr-FULL_NAME.
c_segment2-FWLT15KCC = lt_mkt_attr-FWLT15KCC.
c_segment2-FAMILY_MEMBER_NAME = lt_mkt_attr-FAMILY_MEMBER_NAME.
c_segment2-FAMILYMEMBERS = lt_mkt_attr-FAMILYMEMBERS.
c_segment2-FAMILY_MEMBER_NAME_2 = lt_mkt_attr-FAMILY_MEMBER_NAME_2.
c_segment2-FAMILY_MEMBER_NAME_3 = lt_mkt_attr-FAMILY_MEMBER_NAME_3.
c_segment2-FAMILY_MEMBER_NAME_4 = lt_mkt_attr-FAMILY_MEMBER_NAME_4.
c_segment2-FAMILY_MEMBER_NAME_5 = lt_mkt_attr-FAMILY_MEMBER_NAME_5.
c_segment2-FWLT1KCC = lt_mkt_attr-FWLT1KCC.
c_segment2-FWLT2KCC = lt_mkt_attr-FWLT2KCC.
c_segment2-GEO_WING_LAT = lt_mkt_attr-GEO_WING_LAT.
c_segment2-GEO_WING_LONG = lt_mkt_attr-GEO_WING_LONG.
c_segment2-HDFCBANK = lt_mkt_attr-HDFCBANK.
c_segment2-HSBC = lt_mkt_attr-HSBC.
c_segment2-ICICIBANK = lt_mkt_attr-ICICIBANK.
c_segment2-INCMTO = lt_mkt_attr-INCMTO.
c_segment2-INCT2F = lt_mkt_attr-INCT2F.
c_segment2-INCT2T = lt_mkt_attr-INCT2T.
c_segment2-IND_SECTOR = lt_mkt_attr-IND_SECTOR.
c_segment2-INTERNETCHATTING = lt_mkt_attr-INTERNETCHATTING.
c_segment2-LICENSE_INFO = lt_mkt_attr-LICENSE_INFO.
c_segment2-INTERNET_CONNECT = lt_mkt_attr-INTERNET_CONNECT.
c_segment2-MFAM_INCOME = lt_mkt_attr-MFAM_INCOME.
c_segment2-MODEL_1 = lt_mkt_attr-MODEL_1.
c_segment2-MODEL_2 = lt_mkt_attr-MODEL_2.
c_segment2-MODEL_3 = lt_mkt_attr-MODEL_3.
c_segment2-MOTHERS_NAME = lt_mkt_attr-MOTHERS_NAME.
c_segment2-MO_OF_P = lt_mkt_attr-MO_OF_P.
c_segment2-MO_OF_P2 = lt_mkt_attr-MO_OF_P2.
c_segment2-MO_OF_P3 = lt_mkt_attr-MO_OF_P3.
c_segment2-MY_OF_P3 = lt_mkt_attr-MY_OF_P3.
c_segment2-NOMINEES_NAME = lt_mkt_attr-NOMINEES_NAME.
c_segment2-NONE = lt_mkt_attr-NONE.
c_segment2-OCCU_OD_OTHR = lt_mkt_attr-OCCU_OD_OTHR.
c_segment2-OCC_FAM_1 = lt_mkt_attr-OCC_FAM_1.
c_segment2-OCC_FAM_2 = lt_mkt_attr-OCC_FAM_2.
c_segment2-OCC_FAM_3 = lt_mkt_attr-OCC_FAM_3.
c_segment2-OCC_FAM_4 = lt_mkt_attr-OCC_FAM_4.
c_segment2-OCC_FAM_5 = lt_mkt_attr-OCC_FAM_5.
c_segment2-OCC_NOM = lt_mkt_attr-OCC_NOM.
idoc_data-segnam = 'ZE101CRMXIF_MKT_ATTR_DATA2'.
idoc_data-sdata = c_segment4.
append idoc_data.
C_segment3-PLANG_OTHR = lt_mkt_attr-PLANG_OTHR.
C_segment3-REF_MAILADD = lt_mkt_attr-REF_MAILADD.
C_segment3-RELATION_FAM_1 = lt_mkt_attr-RELATION_FAM_1.
C_segment3-RELATION_FAM_2 = lt_mkt_attr-RELATION_FAM_2.
C_segment3-RELATION_FAM_3 = lt_mkt_attr-RELATION_FAM_3.
C_segment3-RELATION_FAM_4 = lt_mkt_attr-RELATION_FAM_4.
C_segment3-RELATION_FAM_5 = lt_mkt_attr-RELATION_FAM_5.
C_segment3-REL_ACTIVE_STAT = lt_mkt_attr-REL_ACTIVE_STAT.
C_segment3-REL_KISAN_MITRA_STAT = lt_mkt_attr-REL_KISAN_MITRA_STAT.
C_segment3-REL_NOM = lt_mkt_attr-REL_NOM.
C_segment3-REL_PLASTIC_CARD_STAT = lt_mkt_attr-REL_PLASTIC_CARD_STAT.
C_segment3-REL_STAFF_STAT = lt_mkt_attr-REL_STAFF_STAT.
C_segment3-REMARKS = lt_mkt_attr-REMARKS.
C_segment3-ROCN = lt_mkt_attr-ROCN.
C_segment3-ROCN_FAM_1 = lt_mkt_attr-ROCN_FAM_1.
C_segment3-ROCN_FAM_2 = lt_mkt_attr-ROCN_FAM_2.
C_segment3-ROCN_FAM_3 = lt_mkt_attr-ROCN_FAM_3.
C_segment3-ROCN_FAM_4 = lt_mkt_attr-ROCN_FAM_4.
C_segment3-ROOMS_PER_FLAT = lt_mkt_attr-ROOMS_PER_FLAT.
C_segment3-SCH_NUM = lt_mkt_attr-SCH_NUM .
C_segment3-SECONDARYEMAIL = lt_mkt_attr-SECONDARYEMAIL.
C_segment3-SERIAL_NUM = lt_mkt_attr-SERIAL_NUM.
C_segment3-SOCIETY_MEMBER = lt_mkt_attr-SOCIETY_MEMBER.
C_segment3-SOC_CONTNO_LL = lt_mkt_attr-SOC_CONTNO_LL.
C_segment3-SOC_CONTNO_MOB = lt_mkt_attr-SOC_CONTNO_MOB.
C_segment3-SOC_CONT_DESIG = lt_mkt_attr-SOC_CONT_DESIG.
C_segment3-SOC_CONT_PER_NAM = lt_mkt_attr-SOC_CONT_PER_NAM.
C_segment3-STANCHART = lt_mkt_attr-STANCHART.
C_segment3-ST_CODE = lt_mkt_attr-ST_CODE.
C_segment3-ST_CODE_OLD = lt_mkt_attr-ST_CODE_OLD.
C_segment3-ST_EMP_CODE = lt_mkt_attr-ST_EMP_CODE.
C_segment3-TEENAGERS = lt_mkt_attr-TEENAGERS.
C_segment3-SBI = lt_mkt_attr-SBI.
C_segment3-ZLAT1 = lt_mkt_attr-ZLAT1.
C_segment3-ZLONG1 = lt_mkt_attr-ZLONG1.
C_segment3-ZWING_GEOCODE = lt_mkt_attr-ZWING_GEOCODE.
C_segment3-ZNAMEPLATE_PHOTO = lt_mkt_attr-ZNAMEPLATE_PHOTO.
C_segment3-ZLATITUDE = lt_mkt_attr-ZLATITUDE.
C_segment3-ZLONGITUDE = lt_mkt_attr-ZLONGITUDE.
C_segment3-ZLATITUDE_N_LONGITUDE = lt_mkt_attr-ZLATITUDE_N_LONGITUDE.
C_segment3-ZWING_PHOTO = lt_mkt_attr-ZWING_PHOTO.
C_segment3-ZCATEGORY_SHOPS = lt_mkt_attr-ZCATEGORY_SHOPS.
C_segment3-ZNUM_OF_SHOPS = lt_mkt_attr-ZNUM_OF_SHOPS.
C_segment3-ZELECT_SURVILL = lt_mkt_attr-ZELECT_SURVILL.
C_segment3-ZBUILDING_TYPE = lt_mkt_attr-ZBUILDING_TYPE.
C_segment3-ZFLATS_PER_FLOOR = lt_mkt_attr-ZFLATS_PER_FLOOR.
C_segment3-ZBULDNG_FLOOR = lt_mkt_attr-ZBULDNG_FLOOR.
C_segment3-ZSWIMMING_POOL = lt_mkt_attr-ZSWIMMING_POOL.
C_segment3-ZGYM = lt_mkt_attr-ZGYM.
idoc_data-segnam = 'ZE101CRMXIF_MKT_ATTR_DATA3'.
idoc_data-sdata = c_segment4.
append idoc_data.
c_segment4-others = lt_mkt_attr-others.
c_segment4-OCCU_OD = lt_mkt_attr-OCCU_OD.
c_segment4-ZFLAT_TYPE = lt_mkt_attr-ZFLAT_TYPE.
idoc_data-segnam = 'ZE101CRMXIF_MKT_ATTR_DATA4'.
idoc_data-sdata = c_segment4.
append idoc_data.
ENDLOOP.
IDOC_CONTROL-MESTYP = c_messagetype.
IDOC_CONTROL-DOCTYP = c_idoc_type.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = IDOC_CONTROL
* OBJ_TYPE = ''
* CHNUM = ''
TABLES
COMMUNICATION_IDOC_CONTROL = t_comm_control
MASTER_IDOC_DATA = IDOC_DATA
* EXCEPTIONS
* ERROR_IN_IDOC_CONTROL = 1
* ERROR_WRITING_IDOC_STATUS = 2
* ERROR_IN_IDOC_DATA = 3
* SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
* OTHERS = 5
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFUNCTION.
i implement a badi "CRMXIF_PARTNER_MAP"
data ls_mkt_attr type zcrmxif_mkt_str.
LOOP AT cs_data_mapped INTO ls_data_mapped .
lv_tabix = sy-tabix.
loop at ls_data_mapped-ZZPARTNER-ZZMKT_ATTR into ls_mkt_attr.
read table ls_data_mapped-zzpartner-ZZMKT_ATTR into ls_mkt_attr index 1.
if ls_mkt_attr is not initial.
CALL FUNCTION 'ZCRMXIF_MKT_DATA'
EXPORTING
EV_MKT_ATTR = ls_mkt_attr
endif.
endloop.
read table ls_data_mapped-zzpartner-ZZMKT_ATTR into ls_mkt_attr index 1.
MODIFY cs_data_mapped FROM ls_data_mapped INDEX lv_tabix.
endloop.
i ddn't get data into sructure.
please explain how to doit. -
IDoc to Java -- not calling 'handleRequest'
Hello,
I try to send IDocs from SAP to a JCoIDoc.Server. I tried to use JCoIDocSample3.java out of sapidocjco-1.0.6
IDoc goes out correctly, in my IDoc-Server the overriden method 'protected void handleRequest(IDoc.DocumentList documentList)' is never called.
In method 'void dispatchRequest(Function function)' the following exception occures:
com.sap.mw.idoc.IDoc$Exception: (2) IDOC_ERROR_METADATA_UNAVAILABLE: The meta da
ta for the IDoc type "LOIPRO01" is unavailable.
at com.sap.mw.idoc.jco.JCoIDoc$JCoDocument.<init>(JCoIDoc.java:326)
at com.sap.mw.idoc.jco.JCoIDoc$JCoDocumentList.<init>(JCoIDoc.java:3072)
at com.sap.mw.idoc.jco.JCoIDoc$Server.dispatchRequest(JCoIDoc.java:10267
Can anybody help me with this problem?
C. StephaniHi,
I'm trying to receive IDOc from SAP. I'm using JCoIDocSample3.java program. I'm not able to receive the IDoc from SAP. I'm getting the following message
<b>Started MyIDocServer.
MyIDocServer is listening now...
Incoming IDoc list request containing 0 documents...</b>
Can anyone tell me what is the problem... can anyone send me the sample code...
Thanks in advance
-Booshan. -
Communication with the Idoc file with is server through FTP (TCP/IP)
Hi All,
My file which is stored in the directory of the SAP server.
In this file Sales order data is stored in the IDOC format.
I have to devlelop a interface which which communicate with Server (where IDOC file is stored) with FTP using TCP/IP.
Is there any sample code is there.
Thanks in advance .
Point guranted .Hi,
Check this links out
Using of FTP_CONNECT
FTP_CONNECT
FTP_CONNECT
Regards,
Samson Rodrigues. -
Isolate app server from external RFC's, idocs
There is a server in our SAP R3 landscape that needs to be isolated both from user logon, external communiction like idocs and also load balancing of batch jobs to this server.
The user logon is no issue, config via SMLG by not including the server in the logon groups.
The external idoc coming in is still an issue to be addressed.
So is the batch job issue. This server requires background processes. But we don't want general batch jobs load balanaced to this server.
If idocs were balanced to that server, potentially they would wait (because of heavy procesing occuring on this server) and could processes to backup.
Can these be eliminated via usage of RZ12? By default a server in the environment will be in that group.
Could the server effectively be isolated by creating some bogus server logon group and assigning the server to it?
So 2 issues:
1. isolate server from idocs
2. isolate server from having batch jobs load balanced to it.
Any thoughts appreciated on this matter of isolating a server from the rest of the landscape so that it can be dedicated to a specific process.We understand the issues of you as below.
1. isolate server from idocs (The external idoc coming in is still an issue to be addressed)
- As u already eliminated the target server from SMLG, User login are managed but why external IDOC's are coming.
View-1) if the IDOC's are coming from other ABAP System, Check the RFC Connections of Source ABAP System to This Target ABAP System, Are they using by any chance LOGON group "SPACE". if yes...pl assign it to a Custom LOGON GROUP of Source which does not include the application server you desire.
View-2) if the IDOC's are coming directly from an external NON-ABAP System, Analyze where the external RFC server is registered..Secondly.....How the Inbound IDOCS are processed by Function Module....Select " TRIGGER BY BACK GROUND PROGRAM" instead "TRIGGER IMMEDIATELY" to build a control thru which BATCH Server the INBOUND IDOCS are processed.
2. isolate server from having batch jobs load balanced to it.
This you can acheive it as Mr.Sunil Bujade said thru SM61 in this thread.
3. HTTP Logins to thru that application server
If your ECC System connected to a Portal , and you are experience some WEB logins (IC) login on this application server ,
Do not activate the parameters on the application server where you do not desire HTTP Connections, which will stop HTTP Logins.
icm/server_port_0
icm/host_name_full
login/accept_sso2_ticket
login/create_sso2_ticket
(or)
You should Disable / Deactivate ICM of application server said by Mr.Khaiser in this thread ( I think after every restart ).
If time allows have a look of these Notes.
SAP Note 0001385751 Deactivating background processing
SAP Note 0000786412 Determining execution server of jobs w/o target server
SAP Note 0001359508 Background server groups: Blank server name in server group
SAP Note 0000519059 FAQ: Background processing system
A Final Question,
In which scenario, A server is not for GUI LOGINS, not for Specific BATCH Jobs, not for HTTP Logins, is required.. May we request a Technical Scenario was required such application server which may be useful to connect to the requirement when similar demand in our landscape.
Rgds -
Fetching Idoc file from server through FTP using TCP/Ip protocol
Hi All,
My file which is stored in the directory of the SAP server.
In this file Sales order data is stored in the IDOC format.
I have to develop a interface which which communicate with Server (where IDOC file is stored) with FTP using TCP/IP.
Is there any sample code is there.
Thanks in advance .
Point guranted .Hi,
Check this links out
Using of FTP_CONNECT
FTP_CONNECT
FTP_CONNECT
Regards,
Samson Rodrigues. -
"jco.server.unicode" is gone in JCO 3.0.5??!!
Recently we have migrated from JCO 2.1.8 to 3.0.5. Currently we are witnessing some problems with communications from non-Unicode Sap systems.
In the previous version (JCO 2.1.8) JCoIDoc.Server had a property "jco.server.unicode" in the latter one the property is gone.
AS far as I understand, JCo3 Server based on the data sent form a client recognizes encoding and applies proper conversion. However when we try to establish a non-Unicode connection ( from a Unicode enabled system), through setting In the SM59 transaction (tab MDMP & Unicode) u201ECommunication Type with Target Systemu201D to Non-Unicode, we are getting the following error :
com.sap.conn.idoc.IDocMetaDataUnavailableException: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "??????????????????
????????å å" with extension " SAPCFL CF5CL ???" is unavailable.
at com.sap.conn.idoc.rt.DefaultIDocDocument.(JCoIDocDocument.java:92)
at com.sap.conn.idoc.jco.rt.JCoIDocDocument.createIDocDocument(JCoIDocDocument.java:170)
at com.sap.conn.idoc.jco.rt.JCoIDocRuntime.createIDocDocumentList(JCoIDocRuntime.java:80)
at com.sap.conn.idoc.jco.JCoIDoc$DefaultJCoIDocRuntime.createIDocDocumentList(JCoIDoc.java:144)
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServerWorker$IDocDispatcher.handleRequest(DefaultJCoIDocServerWorker.java:107)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatchRequest(DefaultServerWorker.java:153)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3300)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:2780)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2598)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2489)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2310)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:277)
at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:337)
at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:238)
at java.lang.Thread.run(Thread.java:619)
11:15:20,062 ERROR Sap server details
Class: com.syncron.bpe.engine.extinterface.sap.idoc.SapIDocServer
Program id: GIM
Thread name: JCoServerThread-1
Registered (at gateway) connection count: 5
Max thread count: 1
Exception occured
com.sap.conn.jco.JCoException: (104) RFC_ERROR_SYSTEM_FAILURE: IDocException occurred (raised by system karbie-nc6400|a_rfc)
at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:639)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2395)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:277)
at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:337)
at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:238)
at java.lang.Thread.run(Thread.java:619)
Caused by: RfcException: karbie-nc6400
message: IDocException occurred
Return code: RFC_FAILURE(1)
error group: 104
key: RFC_ERROR_SYSTEM_FAILURE
Exception raised by karbie-nc6400|a_rfc
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:2785)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2598)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2489)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2310)
... 4 more
Caused by: RfcException: karbie-nc6400
message: IDocException occurred
Return code: RFC_FAILURE(1)
error group: 104
key: RFC_ERROR_SYSTEM_FAILURE
Exception raised by karbie-nc6400|a_rfc
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3329)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:2780)
... 7 more
Caused by: com.sap.conn.idoc.IDocRuntimeException: IDocException occurred
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServerWorker$IDocDispatcher.handleRequest(DefaultJCoIDocServerWorker.java:151)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatchRequest(DefaultServerWorker.java:153)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3300)
... 8 more
Caused by: com.sap.conn.idoc.IDocMetaDataUnavailableException: (3) IDOC_ERROR_METADATA_UNAVAILABLE: The meta data for the IDoc type "???????
???????????????????å å" with extension " SAPCFL CF5CL ???" is unavailable.
at com.sap.conn.idoc.rt.DefaultIDocDocument.(JCoIDocDocument.java:92)
at com.sap.conn.idoc.jco.rt.JCoIDocDocument.createIDocDocument(JCoIDocDocument.java:170)
at com.sap.conn.idoc.jco.rt.JCoIDocRuntime.createIDocDocumentList(JCoIDocRuntime.java:80)
at com.sap.conn.idoc.jco.JCoIDoc$DefaultJCoIDocRuntime.createIDocDocumentList(JCoIDoc.java:144)
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServerWorker$IDocDispatcher.handleRequest(DefaultJCoIDocServerWorker.java:107)
... 10 more
With JCO 2.1.8 we used to solve it through setting the mentioned "jco.server.unicode" to 1, in the current one it seems that there is not much to configure regarding encoding.
Please advice.In unicode ABAP backend systems you always have to set the destination in SM59 to "Unicode" if the communication partner is JCo. There is no choice for setting the Non-Unicode option. It won't work.
JCo3 does not require a manual setting of the "jco.server.unicode" property any longer. Therefore the property has been deleted. In JCo3 you don't have to take care for this anymore. -
Hello ,
I configured an IDOC Listener in xMII to execute a transaction when it recieves an IDOC in routing rules. But when an IDOC is sent to xMII, it is saved to "\Lighthammer\JCO\Output" folder but the transaction is not executed. And i am getting an exception
"error making call to xacute java.net.SocketException: Software caused connection abort:" .
Thanks,
Srinivas.Hi,
The transaction is working fine. I tested it manually.
I saw the error in the general log of xMII. This is really a weird behaviour. I am using xMII 11.5.1 b54.
This is the exception i got :
Error making call to xacute java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at org.apache.commons.httpclient.HttpConnection$WrappedOutputStream.write(HttpConnection.java:1360) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124) at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:790) at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2271) at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2651) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1087) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:643) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:497) at com.lighthammer.jco.system.XacuteHelper.run(Unknown Source) at com.lighthammer.jco.server.JCOServer.process(Unknown Source) at com.lighthammer.jco.server.LHiDocServer.handleRequest(Unknown Source) at com.sap.mw.idoc.jco.JCoIDoc$Server.dispatchRequest(JCoIDoc.java:10226) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.nativeListen(Native Method) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.listen(MiddlewareRFC.java:1368) at com.sap.mw.jco.JCO$Server.listen(JCO.java:6844) at com.sap.mw.jco.JCO$Server.run(JCO.java:6773) at java.lang.Thread.run(Thread.java:534)
Thanks,
Srinivas.
Maybe you are looking for
-
Hi guys, We have just installed the 710 GUI and when i try to open a Query in BEX or even the Query designer i get the following error: "RSOBJS 170 serious error occurred while reading history folder". When i click on ok it goes to 3.x and says "open
-
WL 10.3 Commons LogFactory NoClassDefFoundError, Hibernate
I keep getting this error when I try to deploy on weblogic 10.3. I'm trying to initialize hibernate through spring. We are using split-directory structure for development. Code: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at
-
What happens when undo tablespace is lost and then instance aborted? How does roll back phase of crash recovery will be performed? what is your logic? In my views, after restoring the undo tablespace, recovery will be performed. Since changes written
-
SSM7.0 - Logic to calculate scores
Hi all, I am trying to override a variable (KPI15_TARDEV) with a new score calculation by creating a logic (See below for example). I need to store Actual (KPI15_ACT) and Target (KPI15_TAR) values in temp variables in order to calculate the new score
-
Hi, When I am running AR02, some of the assets which are below 5% of their Original value are not picking in the report for which depreciation is not being provided. Any solution to see the values of such assets in AR02 Report.