Check interface
My client will be doing the invoice processing in the legacy systems, but want SAP to pay through check. To me this means 2 types of inbound interfaces to SAP: Vendor master and Vendor Invoice line item.
And after the payment is made, we need to send an electronic payment file back to the legacy systems.
Other option is to allow legacy system users to post the invoices directly in SAP, then we don't need any interface. But it is a financial/insurance company and they need to feed in more information than allowed in Standard SAP processing and want an ability to run a query based on some of those additional information fields like license number, contract number etc. We are planning to create additional screens to handle such additional information during invoice processing
Is there another better way to deal with this scenario?
Thanks
Ranjit
Edited by: Ron on Feb 24, 2009 7:15 PM
There are many ways for that.
1. SAP Netweaver - Web Application server (WAS)
2. Web Dynpro
3. ITS.
You can go with any of this.
Similar Messages
-
Hi all,
Actually I wants to test my custom data link, for testing this I did the following steps in my debug build.
1- I check "ON"
Test->Links->test Missing Links chache
in the Indesign cs2
2- Now I click the menu Test->Links->test basic Interface
Then I got a message dialog having message "ICoreFilename Interface is now broken"
After clicking "OK" of this dialog I got another message dialog which having message "This IDataLink interface does not meet the minimum requirements"
after that I got "test completed"
But I am not able to get/trace these messages even I don't no much more about these tests.
what are these tests and messages?.
How I can trace/fix this problem in my code?
What are the minimum requirements of the IDataLink?
anybody knows about these Please let me know.Hi Alex
For "Default Quality Assurance Check List" which is associated with OKC below are the set processes usually called
Process || Package || Procedure
=============== ================= ===========================
Check Required Values || OKC_QA_DATA_INTEGRITY || CHECK_REQUIRED_VALUES
Check Rule Groups || OKC_QA_DATA_INTEGRITY || CHECK_RULE_GROUPS
Check Rule Group Parties|| OKC_QA_DATA_INTEGRITY || CHECK_RULE_GROUP_PARTIES
Check Effectivity Dates || OKC_QA_DATA_INTEGRITY || CHECK_EFFECTIVITY_DATES
Check Configured Lines|| OKC_CFG_PUB || CONFIG_QA_CHECK
Check Price || OKC_QA_PRICE_PVT || CHECK_PRICE
Check Email Address || OKC_QA_GENERAL_CHECKLISTS|| CHECK_EMAIL_ADDRESS
Check Address || OKS_QA_DATA_INTEGRITY || CHECK_ADDRESS
Check Covered Line Qty|| OKC_QA_PRICE_PVT || CHECK_COVERED_LINE_QTY
Check Covered Line Qty|| OKC_QA_PRICE_PVT || CHECK_COVERED_LINE_QTY
Check Contract Terms || OKC_TERMS_QA_GRP || CHECK_TERMS
For "Default Service Contracts Quality Assurance Check List" all the processes called are associated with procedures in the package OKS_QA_DATA_INTEGRITY
All the packages are under APPS schema.
Thanks
Sid. -
IRecruitment Background check Interface
Hi,
In iRecruitment what are the Names of the Tables Which contains Persons Criminal Information. Actually want to reterieve the following information
Need to find out which tables holds the data to be populated in
Persons Criminal Information (REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted)
Services Information
Reference Information (SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone)
Need to have the final EDI file looks like as below
APP*Last Name*First*Middle Name*Former Name*Phone*Cell*Email*SSN*DOB*Gendar
ADDR*Address*City*State*Zip
ADDRPRE*Address*City*State*Zip*Aka*Month Move out*Month Move in
REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted
SPI*Special instruction
SVC*7*Criminal Search - National Search
SVC*64*Criminal Search - Statewide
SVC*178*Pre-Check Complete Criminal
SVC*122*Drug Screen Collection
SVC*6*Criminal Search - Single County
SVC*31*Employment Verification*Company Name*City*State*Start Date*Ending Date*Contact Name*Contact Phone*Can Contact Emplyer?
SVC*3*Education Verification*School Name*City*State*Graduation Year*Name on diplima*Degree Earned Major
SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone
APPE:Number of services RequestedThanksHi,
In iRecruitment what are the Names of the Tables Which contains Persons Criminal Information. Actually want to reterieve the following information
Need to find out which tables holds the data to be populated in
Persons Criminal Information (REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted)
Services Information
Reference Information (SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone)
Need to have the final EDI file looks like as below
APP*Last Name*First*Middle Name*Former Name*Phone*Cell*Email*SSN*DOB*Gendar
ADDR*Address*City*State*Zip
ADDRPRE*Address*City*State*Zip*Aka*Month Move out*Month Move in
REL*Date Release Signed*Has Been Convicted Of Crime*Approx Conviction Date*Where Convicted
SPI*Special instruction
SVC*7*Criminal Search - National Search
SVC*64*Criminal Search - Statewide
SVC*178*Pre-Check Complete Criminal
SVC*122*Drug Screen Collection
SVC*6*Criminal Search - Single County
SVC*31*Employment Verification*Company Name*City*State*Start Date*Ending Date*Contact Name*Contact Phone*Can Contact Emplyer?
SVC*3*Education Verification*School Name*City*State*Graduation Year*Name on diplima*Degree Earned Major
SVC*2*Reference*Company Name*City*State*Contact Name*Contact Phone
APPE:Number of services RequestedThanks -
RFC start on explicit host - fast sync interface options to iSeries
Hi all,
Sorry if this is going to be a bit long..
Back on my old stomping grounds, times change, so do backend systems, we're now running SAP on Unix/Oracle with iseries SAP systems being phased out. This also meant that I moved from hardcore as400 techie to a more intermediate figure between application and real basis. Oh well.
I have an interesting situation though. We need to establish an ATP check interface between Unix/Oracle CRM 5.0 and our legacy iseries application. ATP check is basically checking if stock is present for a customer order. The check is performed during ordering so it should be realtime and fast.
A number of people with more money than knowledge decided the best bet was to implement a biztalk webservice between CRM and iseries. The webservice would call a stored procedure via jdbc. It'll work I'm convinced.
We have been given until monday to come up with a good alternative (which basically means the weekend..)
From an infrastructure point of view I do not want this at all for several reasons.
Our main applications are SAP and legacy as400 with SAP XI in the middle, so at least if we use a intermediate system we should use XI. Introducing a new platform is foolish and bad for maintenance and support
Since the interface should be lean and mean I'm thinking maybe bypass XI as well. Basically these are the options for this interface:
1: CRM HTTP (RFC) to XI to as400 stored procedure
2: CRM HTTP (RFC) to XI to apache webserver
3: CRM HTTP RFC directly to iseries apache webserver
option 2 could be useful if we have to do a lot of mapping in the interface (which I do not expect)
Apache webservers call a iseries program which will (probably) send back back a XML with the stock info
Then I looked into my old iseries on as400 redbook and found these two further options:
4: Using a CPI-C connection from CRM to iseries for direct program call (SG244672 12.7.1)
5: using a RFC connection from CRM to iseries for direct program call (SG244672 12.7.2)
I'm not too familiar with cpi-c so I investigated the RFC option a bit. The tests I have done sofar have either failed because of firewall issues or because this option is not supported in certain system implementations (SAP on iseries 46d does not allow it
The one issue I'm not certain about yet is whether the receiving iseries system needs a SAP gateway. Since it is completely legacy at the moment it has no SAP components at all. If I would have to install a SAP gateway for this I'm not sure if we're still lean and mean.
So questions: is there any experience with option 5 to iseries? If option 5 does not seem feasible I'll probably advice to go to option 3, we have some experience with that and will also definitely work.
Any other comments on these infrasructure scenario's are very welcome too!
Thanks
Tom
Edited by: Tom van Rooyen on Apr 24, 2010 4:28 AM
Edited by: Volker Gueldenpfennig on Apr 24, 2010 11:10 AMHi Tom,
tja, what shall we say ?
if you are really interested in a VERY fast and "rock-stable" solution, RFC should be your friend ))
We are having lots of eperience with your "option 5" ...
We even support that
You can have a look at:
http://www.consolut.net/en/s/download/contool.html
There are tools available, that could help you ... and they do work ... but I think, there is no documentation attached to that ...
The biggest issue in my eyes is your timeframe and the current weekend ...
We could definetely help you here and make it to a fast and reliable solution ...
Regards
Volker Gueldenpfennig, consolut international ag
http://www.consolut.net - http://www.4soi.de - http://www.easymarketplace.de -
No inbound interface available in interface determination.
Hi Guys,
I am doing File to web service scenario. I have completed all the steps required in Integration Repository. But in Integration directory while doing interface determination, I am not able to locate my inbound interface. It is showing message No Object found.
I have checked interface mapping and in it I am using same outbound and inbound interface.
I would appreciate yours inputs.Hi Sunil,
You must have chosen Inbound and Outbound Interface for Interface Mapping in the Integration repository.
Also, when you do you Interface Determintaion you must have chosen sender and receiver Interface. They have to be the same as described in the Integration repostiory for the Interface mapping to come up in ID.
Please can you activate your Interface mapping again and try importing it into ID
Regards
Vijaya
Message was edited by: vijaya kumari -
"Unable to find inbound interface"
Hi all,
I have an error in sxmb_moni. Everytime I click on the red flag, I get the error, "Unable to find inbound interface". I already checked namespaces and SCV in IR. I also checked Interface Determination in ID. They are all correct. I have already tested my config in QAS, and everything went well. I'm having problems right now in PRD. Can somebody help me? thanks.
When I run Test Tool Config, I get the following error:
Interface Determination
Thanks.
Regards,
IXError when determining the inbound interface: Problem evaluating a condition: Exception
CX_SWF_RLS_RULE occurred (program: CL_SWF_RLS_CONDITION==========CP, include:
CL_SWF_RLS_CONDITION==========CM00Q, line: 160).
Payload problem check these solved threads:
Error
Error in Receiver Determination
regards,
Abhishek -
Xpath field details not getting displayed
Hi all,
I am working on a idoc to file scenario, where I want to refer the receiver to be determined based upon certain condition or values that get populated for a particular field (using receiver determination). But the problem is that when I click on the condition tab on receiver determination I get a warning "Problem loading schema description"
with message as
"Message interface does not exist in any software components installed on this business system"
But since it is an Idoc at the source we dont have any msg interfaces, further if i neglect this warning message and go further, I am not getting the fields or details of the Idoc structure getting displayed in the xpath.
But the same when I use for a file scenario(file as sender) I get the details of the context object if any.. Let me know how to resolve this..
Thanks in advance
Regards,
NithiyanandamHi,
Yes you coudl add the missing Software component as per below steps
Even if you open Business system in Integration Directory, at last tab "Other Attributes" --> you will find the list of software components.
Press the tab Third Party service to verify the list against SLD.
If its not avaialbel in SLD
1. Goto System Landscape Directory
2. select Business Landscape and slect the apporpriate Business system and open it. (Click the name of BS)
3. There you will get the list of Software components added in it.
4. Verify the technical system name.
5. Also verify if same technical system name is used after importing the software component in Integration Repository (IR).
Goto IR -- > Explore the SCV -->Double click on name of software component version -->Check Interface Import as Import of RFC and have the same details in Connection data as per technical system
If everything is setup just refresh the SLD_CACH and import the scenario once again in Integration Directoy and process it.
You will see the IDOC in Business system.
Thanks
Swarup
Edited by: Swarup Sawant on Feb 4, 2008 8:00 AM -
Cisco 3750 ping failures after stack upgrade
I just updated my 4 stack of 3750X switches from 12.x IOS to 15.0.2 IOS. Only 2 of them updated correctly the first time, I had to manually update to the other 2. After getting all of them upgrade I restarted the entire stack.
After that I cannot get PCs not on my default VLAN to talk to their DHCP servers or ping anywhere in the network. I get a "PING: transmit failed. General failure". I can however, ping into my default vlan from the switch and ping out to other locations from the switch.
I've tried the following:
Checking firewall status on several (WIN 7) pc's, it's off
Changing ports on switch (no change)
Restarting the PC (no change)
Release/renew ipconfig (no change)
flushdns (no change)
clear ARP table on switch
set un-set spanning-tree portfast (no change)
check interface status (up and up)
check vlan interface status (up and up)
changed vlans (no change)
checked VLAN help addresses (still there)
Any help at this point is appreciated as my network is entirely down right now.I can set my laptop statically to a VLAN address, and I can ping out, get to the internet, ping between VLANs, etc. But if I just set a port (or leave it in the default VLAN) it will give me the “PING: transmit failed. General failure.” DHCP requests still aren’t getting fulfilled and even pings won’t go through if there’s not a statically set address. Nothing changed on my server configs and I even restarted my DHCP servers after encountered this problem. My guess is this is a new feature that’s turned on by default in the new IOS that needs to be disabled. Any help is appreciated.
-
Close the External Opend window on click of button
Hi All,
I have a parent window (A) and there is a button on click of that i am opening a another window as external window(B). Now on window B there is a button CLOSE and on that i want to close that external window. How can i achieve this?? i tried it using exit plug but i m not able to get the currently open windows URL.
Thanks In Advance.Hi Prathamesh,
I am not clear about your requirement - are you trying to use URL through EXTERNAL WINDOW or you are trying to use WNDOW EXIT?
If its URL through External Window: following code might help--
METHOD onactiongo.
**-Created two radio buttons- SAP and Google. Select a radio button and click on GO button. Will redirect to the required URL
DATA lo_nd_select_option TYPE REF TO if_wd_context_node.
DATA lo_el_select_option TYPE REF TO if_wd_context_element.
DATA ls_select_option TYPE wd_this->element_select_option.
DATA lv_link TYPE wd_this->element_select_option-link.
* navigate from <CONTEXT> to <SELECT_OPTION> via lead selection
lo_nd_select_option = wd_context->get_child_node( name = wd_this->wdctx_select_option ).
* get element via lead selection
lo_el_select_option = lo_nd_select_option->get_element( ).
* @TODO handle not set lead selection
IF lo_el_select_option IS INITIAL.
ENDIF.
* get single attribute
lo_el_select_option->get_attribute(
EXPORTING
name = `LINK`
IMPORTING
value = lv_link ).
DATA lo_window_manager TYPE REF TO if_wd_window_manager.
DATA lo_api_component TYPE REF TO if_wd_component.
DATA lo_window TYPE REF TO if_wd_window.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
CASE lv_link.
WHEN 'SAP'.
lo_window = lo_window_manager->create_external_window(
'http://sdn.sap.com').
lo_window->open( ).
WHEN 'GOOGLE'.
lo_window = lo_window_manager->create_external_window( 'http://www.google.com' ).
lo_window->open( ).
ENDCASE.
ENDMETHOD.
If its WINDOW EXIT:
1) Create EXIT button in VIEW.
2) Go to WINDOWS -> Outbound Plug -> Give Plug Name (e.g: OUT_EXIT) -> Check INTERFACE -> Plug Type = EXIT.
In same window, in "IMPORTING PARAMETER FROM OUT_EXT" -> Parameter = URL -> Associated Type = String
3) Go to VIEW -> Properties -> Create Controller Usaged
4) In "onAction event" of EXIT button, write the following code:
DATA lo_window1 TYPE REF TO ig_window1 .
lo_window1 = wd_this->get_window1_ctr( ).
lo_window1->fire_out_exit_plg( url = 'http://www.google.co.in' ) -
I did this on VirtualBox 4.1 on Windows 7 and VirtualBox 4.2 on Linux.X64. Basic pre-requisites are : 40GB disk space, 8GB RAM, 64-bit guest capable VirtualBox.
Please read all the descriptive messages/prompts shown by 'scinstall' and 'clsetup' before answering.
0) Download from OTN
- Solaris 11.1 Live Media for x86(~966 MB)
- Complete Solaris 11.1 IPS Repository Image (total 7GB)
- Oracle Solaris Cluster 4.1 IPS Repository image (~73MB)
1) Run VirtualBox Console, create VM1 : 3GB RAM, 30GB HDD
2) The new VM1 has 1 NIC, add 2 more NICs (total 3). Setting the NIC to any type should be okay, 'VirtualBox Host Only Adapter' worked fine for me.
3) Start VM1, point the "Select start-up disk" to the Solaris 11.1 Live Media ISO.
4) Select "Oracle Solaris 11.1" in the GRUB menu. Select Keyboard layout and Language.
VM1 will boot and the Solaris 11.1 Live Desktop screen will appear.
5) Click <Install Oracle Solaris> from the desktop, supply necessary inputs.
Default Disk Discovery (iSCSI not needed) and Disk Selection are fine.
Disable the "Support Registration" connection info
6) The alternate user created during the install has root privileges (sudo). Set appropriate VM1 name
7) When the VM has to be rebooted after the installation is complete, make sure the Solaris 11.1 Live ISO is ejected or else the VM will again boot from the Live CD.
8) Repeat steps 1-6, create VM2 and install Solaris.
9) FTP(secure) the Solaris 11.1 Repository IPS and Solaris Cluster 4.1 IPS onto both the VMs e.g under /home/user1/
10) We need to setup both the packages: Solaris 11.1 Repository and Solaris Cluster 4.1
11) All commands now to be run as root
12) By default the 'solaris' repository is of type online (pkg.oracle.com), that needs to be updated to the local ISO we downloaded :-
+$ sudo sh+
+# lofiadm -a /home/user1/sol-11_1-repo-full.iso+
+//output : /dev/lofi/N+
+# mount -F hsfs /dev/lofi/N /mnt+
+# pkg set-publisher -G '*' -M '*' -g /mnt/repo solaris+
13) Setup the ha-cluster package :-
+# lofiadm -a /home/user1/osc-4_1-ga-repo-full.iso+
+//output : /dev/lofi/N+
+# mkdir /mnt2+
+# mount -f hsfs /dev/lofi/N /mnt2+
+# pkg set-publisher -g file:///mnt2/repo ha-cluster+
14) Verify both packages are fine :-
+# pkg publisher+
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///mnt/repo/
ha-cluster origin online F file:///mnt2/repo/
15) Install the complete SC4.1 package by installing 'ha-cluster-full'
+# pkg install ha-cluster-full+
14) Repeat steps 12-15 on VM2.
15) Now both VMs have the OS and SC4.1 installed.
16) By default the 3 NICs are in the "Automatic" profile and have DHCP configured. We need to activate the Fixed profile and put the 3 NICs into it. Only 1 interface, the public interface, needs to be
configured. The other 2 are for the cluster interconnect and will be automatically configured by scinstall. Execute the following commands :-
+# netadm enable -p ncp defaultfixed+
+//verify+
+# netadm list -p ncp defaultfixed+
+#Configure the public-interface+
+#Verify none of the interfaces are listed, add all the 3+
+# ipadm show-if+
+# run dladm show-phys or dladm show-link to check interface names : must be net0/net1/net2+
+# ipadm create-ip net0+
+# ipadm create-ip net1+
+# ipadm create-ip net2+
+# ipadm show-if+
+//select proper IP and configure the public interface. I have used 192.168.56.171 & 172+
+# ipadm create-addr -T static -a 192.168.56.171/24 net0/publicip+
+#IP plumbed, restart+
+# ipadm down-addr -t net0/publicip+
+# ipadm up-addr -t net0/publicip+
+//Verify publicip is fine by pinging the host+
+# ping 192.168.56.1+
+//Verify, net0 should be up, net1/net2 should be down+
+# ipadm+
17) Repeat step 16 on VM2
18) Verify both VMs can ping each other using the public IP. Add entries to each other's /etc/hosts
Now we are ready to run scinstall and create/configure the 2-node cluster
19)
+# cd /usr/cluster/bin+
+# ./scinstall+
select 1) Create a new cluster ...
select 1) Create a new cluster
select 2) Custom in "Typical or Custom Mode"
Enter cluster name : mycluster1 (e.g)
Add the 2 nodes : solvm1 & solvm2 and press <ctrl-d>
Accept default "No" for <Do you need to use DES authentication>"
Accept default "Yes" for <Should this cluster use at least two private networks>
Enter "No" for <Does this two-node cluster use switches>
Select "1)net1" for "Select the first cluster transport adapter"
If there is warning of unexpected traffic on "net"1, ignore it
Enter "net1" when it asks corresponding adapter on "solvm2"
Select "2)net2" for "Select the second cluster transport adapter"
Enter "net2" when it asks corresponding adapter on "solvm2"
Select "Yes" for "Is it okay to accept the default network address"
Select "Yes" for "Is it okay to accept the default network netmask"Now the IP addresses 172.16.0.0 will be plumbed in the 2 private interfaces
Select "yes" for "Do you want to turn off global fencing"
(These are SATA serial disks, so no fencing)
Enter "Yes" for "Do you want to disable automatic quorum device selection"
(we will add quorum disks later)
Enter "Yes" for "Proceed with cluster creation"
Select "No" for "Interrupt cluster creation for cluster check errors"
The second node will be configured and 2nd node rebooted
The first node will be configured and rebootedAfter both nodes have rebooted, verify the cluster has been created and both nodes joined.
On both nodes :-
+# cd /usr/cluster/bin+
+# ./clnode status+
+//should show both nodes Online.+
At this point there are no quorum disks, so 1 of the node's will be designated quorum vote. That node VM has to be up for the other node to come up and cluster to be formed.
To check the current quorum status, run :-
+# ./clquorum show+
+//one of the nodes will have 1 vote and other 0(zero).+
20)
Now the cluster is in 'Installation Mode' and we need to add a quorum disk.
Shutdown both the nodes as we will be adding shared disks to both of them
21)
Create 2 VirtualBox HDDs (VDI Files) on the host, 1 for quorum and 1 for shared filesystem. I have used a size of 1 GB for each :-
*$ vboxmanage createhd --filename /scratch/myimages/sc41cluster/sdisk1.vdi --size 1024 --format VDI --variant Fixed*
*0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%*
*Disk image created. UUID: 899147b9-d21f-4495-ad55-f9cf1ae46cc3*
*$ vboxmanage createhd --filename /scratch/myimages/sc41cluster/sdisk2.vdi --size 1024 --format VDI --variant Fixed*
*0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%*
*Disk image created. UUID: 899147b9-d22f-4495-ad55-f9cf15346caf*
22)
Attach these disks to both the VMs as shared type
*$ vboxmanage storageattach solvm1 --storagectl "SATA" --port 1 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk1.vdi --mtype shareable*
*$ vboxmanage storageattach solvm1 --storagectl "SATA" --port 2 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk2.vdi --mtype shareable*
*$ vboxmanage storageattach solvm2 --storagectl "SATA" --port 1 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk1.vdi --mtype shareable*
*$ vboxmanage storageattach solvm2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk2.vdi --mtype shareable*
The disks are attached to SATA ports 1 & 2 of each VM. On my VirtualBox on Linux, the controller type is "SATA", whereas on Windows it is "SATA Controller".
The "--mtype shareable' parameter is important
23)
Mark both disks as shared :-
*$ vboxmanage modifyhd /scratch/myimages/sc41cluster/sdisk1.vdi --type shareable*
*$ vboxmanage modifyhd /scratch/myimages/sc41cluster/sdisk2.vdi --type shareable*
24) Start both VMs. We need to format the 2 shared disks
25) From VM1, run format. In my case, the 2 new shared disks show up as 'c7t1d0' and 'c7t2d0'.
+# format+
select disk 1 (c7t1d0)
[disk formated]
FORMAT MENU
fdisk
Type 'y' to accept default partition
partition
0
<enter>
<enter>
1
995mb
print
label
<yes>
quit
quit26) Repeat step 25) for the 2nd disk (c7t2d0)
27) Make sure the shared disks can be used for quorum :-
On VM1
+# ./cldevice refresh+
+# ./cldevice show+
On VM2
+# ./cldevice refresh+
+# ./cldevice show+
The shared disks should have the same DID (d2,d3,d4 etc). Note down the DID that you are going to use for quorum (e.g d2)
By default, global fencing is enabled for these disks. We need to turn it off for all disks as these are SATA disks :-
+# cldevice set -p default_fencing=nofencing-noscrub d1+
+# cldevice set -p default_fencing=nofencing-noscrub d2+
+# cldevice set -p default_fencing=nofencing-noscrub d3+
+# cldevice set -p default_fencing=nofencing-noscrub d4+
28) It is better to do one more reboot of both VMs, otherwise I got a error when adding the quorum disk
29) Run clsetup to add quorum disk and to complete cluster configuration :-
+# ./clsetup+
=== Initial Cluster Setup ===
Enter 'Yes' for "Do you want to continue"
Enter 'Yes' for "Do you want add any quorum devices"
Select '1) Directly Attached Shared Disk' for the type of device
Enter 'Yes' for "Is it okay to continue"
Enter 'd2' (or 'd3') for 'Which global device do you want to use'
Enter 'Yes' for "Is it okay to proceed with the update"
The command 'clquorum add d2' is run
Enter 'No' for "Do you want to add another quorum device"
Enter 'Yes' for "Is it okay to reset "installmode"?"Cluster initialization is complete.!!!
30) Run 'clquorum status' to confirm both nodes and the quorum disk have 1 vote each
31) Run other cluster commands to explore!
I will cover Data services and shared file system in another post. Basically the other shared disk
can be used to create a UFS filesystem and mount it on all nodes.The Solaris Cluster 4.1 Installation and Concepts Guide are available at :-
http://docs.oracle.com/cd/E29086_01/index.html
Thanks. -
ABAP Service Users not working - important
Hi,
I installed finally BPC 75 NW, and I cannto get ito the application for the 1° time because I have several issues.... I get the error "The user ID, password cannot be authenticated. Make sure you entered valid credentials".
On Server Mgr. i get 2 errors " Sap server connection : database connection" and "ms message queue: queue name: .private$BPCstatusmessagequeue".
I have done eveything in order to solve this... but... after a lot of research I found a note where it is suggested to uninstall, however I still want to change some parameters as described in the installation guide, I hope you can please help me to clear this:
Manual, page 43, installation for NW.
- ABAP service users can be locked as a result of the install.
- Check and unlock users, use SU01, press Ctrl + F5 (done, not a problem)
- Check that COM + Components exist (done)
- Check interfaces (this means changes in Pooling & Recycling?)
- Check that librfc32.dll is set up appropiately (I had the problem during install where i needed to reassign this dll, now is not an issue unless there is something else to check that i am not aware of)
- IIS Port (80 by default right?)
- ServerConfiguration.config for the correct username and system info (cant find this file)
- Registry Entries on 32 and 64 bits (how can I do this)
- Check C:windowssytem32driversetchosts file to ensure that a fully qualified domain and IP resolution exists (what exactly do i need to check)
On server mgr also I have for COM+ components " domain system administrator with which i installed & password" is this right?
Thanx in advance, it is really important.
VelázquezHi,
Thanx for the feedback !! really appreciate it. Here is the response:
The COM components are ok, as well as the MSMQ and every other component you mentioned (also reinstalled it). I reactivated all "dictionary" to the 3 users created in ABAP, changed role to communication, and give SAP_ALL permission.
In the machine, changed the Default web site to port 81 (to let BPC website take port 80)
Reinstalled NET 2.0, set all components for BPC website to Net 2.0
Created the 3 abap users in domain and gave in both systems the same password.
Entered in the machine as the administrator user (also administrator in Netweaver) and started the installation without trouble.
After that, tried to run the server diagnostic but this user was lacking permits, so I added the 3 users (abap) in the local machine as administrators, in a new group called BPC (only giving the administrator role). Entered now in the machine as BPC_SYSADMIN and ran the Server Diagnostic without trouble.
After doing this, I now am facing an issue trying to add users to the 1° appset... choosing the domain users... however someone mentioned that this is related to the NET tier, is it better to reinstall this tier completely or at least try with NET 1.1, but im just about to find out.
Thanx again for the response.
Velázquez -
ABAP Code Modification for Command Tickets
Hi Experts
Modification to processing of Command Orders & Tickets
We require a modification to the processing being performed on sales data originating from the Command Concrete system and potentially from other systems yet to come online (e.g. Reddies Cement plant).
The Sap process involved is
ZINT_INBOUND_POLLING and within that,
ZINT_CSTPORD_ROUTINES.
The problem
Currently there is an assumption that every sales order (and its deliveries) will include a product which is made to order, i.e. for which a production order will be required.
In ZINT_CSTPORD_ROUTINES, a check is made to identify the production order linked to the sales order. If there is no such production order (usually because of the customeru2019s credit status) then processing of the ticket is terminated.
This assumption would fall down if an order was to be raised (in Command) on which there is no concrete material. For example, if we sold a bag of pigment or a screed to a customer. In this case the item would be sold from stock and there would be no need for a production order
The solution
In the routine which checks for the existence of a production order, modify the code as follows:
Inspect each item on the sales order
If (and only if) there is at least one item with a category of u201CZTACu201D then check for a production order, otherwise process the order in the usual manner.
The following Coding of programs are below.
Report: ZINT_INBOUND_POLLING
Description: REDDIES Interfaces: Polling Job for Inbound Interfaces
This report is a general file polling and distribution job for
inbound interfaces. Interfaces are identified by their assigned ID
and type values (refer to table ZINT_ADMIN). The polling job can be
run only for a single interface. This restriction has been implemented
for performance reasons. Dependent interfaces should be set up as
separate, dependent jobs in SM37.
For an interface to be triggered by this report, it must have:
1. Administrative parameters entered in table ZINT_ADMIN.
2. Other parameters (eg. organisational data such as plant or store)
entered in table ZINT_PARAM.
3. An interface-specific function module created in accordance with
the inbound interface template (ZINT_INBOUND_INTERFACE).
4. An interface-specific directory structure. This structure must
be reflected in the directory parameters of table ZINT_ADMIN.
Note that the directory names supplied in ZINT_ADMIN must exactly
match those used for the actual directories.
This job is designed to run as a periodic background job, but can
also be run on-line when required.
On each execution, the program performs the following tasks:
1. Validate all selection parameters.
2. Read interface administration and other parameters.
3. Check the inbound directory to see if there are any new files.
4. If there is a new file.
4.1 Read the data and update the interface log.
4.2 Archive the data and update the interface log.
4.3 Call the interface function module, sending data and parameters.
4.4 Log any messages returned from the function module.
5. Exit.
Please document all changes to this job carefully and clearly. Major
additions to functionality should be put in new, parameterised form
routines wherever possible to sustain maintainablility of the code.
Change History:
Date User Request Description
07/02/2006 EDWG WG1K902600 Original program.
20.07.2007 ROBS Changes to handle error messages better.
report zint_inbound_polling line-size 170
line-count 58(2)
message-id zz
no standard page heading.
Global Data Declarations
include zint_interface_data.
data: begin of tbl_messages occurs 0,
line(132) type c,
end of tbl_messages.
--Field Symbols--
field-symbols: <function>.
--Global Variables--
Selection Screen
--Interface Mode--
RJS Start >>>
selection-screen begin of block b1 with frame title t_mode.
parameters: p_upl radiobutton group p1.
selection-screen skip 1.
select-options: s_intid for zint_intid-zint_id
matchcode object zint_intid,
s_intty for zint_intty-zint_ty
matchcode object zint_intty.
selection-screen uline.
parameters: p_pro radiobutton group p1.
selection-screen skip 1.
RJS End <<<
Interface ID
parameters: p_intid like zint_intid-zint_id
matchcode object zint_intid.
Interface type
parameters: p_intty like zint_intty-zint_ty
matchcode object zint_intty
default 'I'.
IDOC group or set
parameters: p_intis type zint_is.
select-options: s_datum for zint_data-created_on.
selection-screen skip 1.
parameters: p_dlgrp as checkbox default c_false.
data: p_alone(1) type c value 'X'.
selection-screen skip 1.
Interface parameter set and sequence number.
parameters: p_intsi like zint_param-zint_si,
p_intsq type zint_sq default '001' no-display.
selection-screen uline.
parameters: p_apsrv radiobutton group r1,
p_pc radiobutton group r1.
selection-screen skip 1.
parameters: p_nowar as checkbox default c_true.
selection-screen end of block b1.
Event Processing
--IDOC Set Values--
at selection-screen on value-request for p_intis.
Display a selectable list of parameter sets
perform select_idoc_set using p_intid
p_intty
changing p_intis
v_rtcod.
if v_rtcod ne c_noerr.
Problem displaying parameter lists
message i000 with 'Unable to display IDOC set values.'
'Please enter an interface ID and type.'.
endif.
--Parameter Set Values-----
at selection-screen on value-request for p_intsi.
Display a selectable list of parameter sets
perform select_parameter_set using p_intid
p_intty
changing p_intsi
v_rtcod.
if v_rtcod ne c_noerr.
Problem displaying parameter lists
message i000 with 'Unable to display parameter list values.'
'Please enter an interface ID and type.'.
endif.
--Check Interface Admin.---
at selection-screen on: p_intty, p_intid.
perform validate_interface_admin using p_intid
p_intty
changing v_rtcod.
if v_rtcod ne c_noerr.
No administration parameters exist for interface
message e001 with p_intid p_intty.
endif.
--Validate Parameter Set---
at selection-screen on p_intsi.
perform validate_interface_param using p_intid
p_intty
p_intsi
changing v_rtcod.
if v_rtcod ne c_noerr.
Parameter set does not exist for interface
message e002 with p_intsi p_intid p_intty.
endif.
Initialisation
initialization.
perform set_screen_texts.
Start of Selection
start-of-selection.
RJS Start >>>
refresh: tbl_totals, tbl_messages.
UPLOAD INBOUND DATA ---------------------
if p_upl = 'X'.
perform upload_data.
PROCESS NEW or ERRORS -------------------
else. " p_pro = 'X'.
perform process_data.
endif.
RJS End <<<
End of Selection
end-of-selection.
Write the log file to the specified directory
read table t_ibfil index 1.
perform write_log_file tables t_ldata
using s_admin-zint_lg
t_ibfil-filename
p_apsrv
changing v_rtcod.
if v_rtcod ne c_noerr.
Error writing to log file
message i000 with 'Could not write to log file for interface'
s_admin-zint_id '/' s_admin-zint_ty.
endif.
RJS Start >>>
Write out Messages and totals
if p_pro = 'X'. " Processing Data
describe table tbl_messages lines sy-tfill.
if sy-tfill = 0.
write:/ 'Processing Complete. Use ZSTA to analyse'.
else.
loop at tbl_messages.
write:/ tbl_messages-line.
endloop.
endif.
else. " Uploading Data
format color col_total.
uline.
write:/ 'Upload Details:', 132 space.
uline.
format color off.
describe table tbl_totals lines sy-tfill.
if sy-tfill = 0.
write:/ '0 Records Processed'.
endif.
loop at tbl_totals.
write:/ 'Interface ID:', tbl_totals-zint_id,
' Type:', tbl_totals-zint_ty,
' Command Date:', tbl_totals-created_on,
' Records Processed:', tbl_totals-count.
endloop.
uline.
message s999(b1) with 'Data Upload Completed'
'- Please see full Results uing trans ZSTA'.
endif.
RJS End <<<
Form Routines
include zint_interface_routines.
*& Form upload_data
text
form upload_data.
data: lt_admin type standard table of zint_admin with header line.
data: l_message(80) type c.
select * from zint_admin into table lt_admin
where zint_id in s_intid
and zint_ty in s_intty.
loop at lt_admin.
refresh t_idata.
refresh t_ibfil.
Progress Message
concatenate 'Reading Inbound data files in'
lt_admin-zint_ib
into l_message separated by space.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
PERCENTAGE = 0
text = l_message.
Check for a new inbound file and read its data.
perform read_inbound_data tables t_idata
t_ibfil
using lt_admin-zint_ib
p_apsrv
changing v_rtcod.
if v_rtcod ne c_noerr and
v_rtcod ne 7 and " RJS- no files found
lt_admin-zint_ib ne space.
Write an error to the log
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'READ_INBOUND_DATA'
'Problem reading inbound interface file.'
p_nowar space.
exit.
endif.
Exit if there is no data.
describe table t_idata lines v_fldsz.
check v_fldsz gt 0.
Write inbound data to a database table, for later access
perform write_data tables t_idata
using lt_admin-zint_id
lt_admin-zint_ty
lt_admin-zint_fm
lt_admin-zint_ib.
Move the inbound file to the archive directory
perform archive_inbound_data tables t_ibfil
using p_apsrv
lt_admin-zint_ar
lt_admin-zint_ib
changing v_rtcod.
if v_rtcod ne c_noerr.
Write an error to the log if unable to move file
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'ARCHIVE_INBOUND_DATA'
'Problem archiving inbound interface file.'
p_nowar space.
endif.
endloop.
endform. "upload_data
*& Form process_data
text
form process_data.
data: lt_idata type standard table of x_idata with header line.
data: s_idata type x_idata,
l_last_status(3) type c.
data: l_message(80) type c,
l_status(3) type c,
l_lines(5) type c,
l_date(10) type c.
Validate input parameters
if p_intid = space
or p_intty = space
or p_intsi = space.
message e999(b1) with 'Mandatory fields must be filled'.
endif.
Read the interface administration parameters
perform get_admin_parameters using p_intid
p_intty
changing s_admin
v_rtcod.
if v_rtcod ne c_noerr.
Write an error to the log
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'GET_ADMIN_PARAMETERS'
'No admin. parameters for interface. Check ZINT_ADMIN'
p_nowar space.
endif.
Read the other interface parameters (if required)
if p_intsi ne space.
perform get_other_parameters tables t_param
using p_intid
p_intty
p_intsi
changing v_rtcod.
if v_rtcod ne c_noerr.
Write an error to the log
perform write_log_entry
tables t_ldata
using 'E'
'ZINT_INBOUND_POLLING'
'GET_OTHER_PARAMETERS'
'No org. parameters for interface. Check ZINT_ADMIN'
p_nowar space.
endif.
endif.
Read any Error records for reprocessing - if none, read New data
perform read_data tables t_zint_data
changing v_rtcod.
clear l_status.
loop at t_zint_data.
Create subset of all records, per Command Date
at new created_on.
refresh t_idata.
clear l_lines.
endat.
at new key_val.
add 1 to l_lines.
endat.
append t_zint_data-raw_data to t_idata.
Process one date at a time
at end of created_on.
Progress Message:
write t_zint_data-created_on to l_date dd/mm/yyyy.
concatenate 'Processing' l_lines 'records for'
p_intid '/' p_intty '/' p_intsi 'Created:'
l_date
into l_message separated by space.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = l_message.
Process the incoming data
assign s_admin-zint_fm to <function>.
call function <function>
exporting
i_zint_id = p_intid
i_zint_ty = p_intty
i_zint_si = p_intsi
i_zint_is = p_intis
i_zint_dl = p_dlgrp
i_zint_as = p_apsrv
i_zint_al = p_alone
i_zint_nw = p_nowar
i_zint_sq = p_intsq
tables
t_zint_mslog = t_ldata
t_zint_idata = t_idata
t_zint_param = t_param
changing
c_zint_rc = v_rtcod
exceptions
no_such_interface = 1
invalid_parameter_set = 2
data_table_empty = 3
invalid_idoc_group = 4.
case sy-subrc.
--No Such Interface--
when 1.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'Interface does not exist in ZINT_ADMIN.'
p_nowar space.
--Invalid Parameter Set----
when 2.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'Invalid parameter set for interface. Check ZINT_PARAM'
p_nowar space.
--Data Table Empty--
when 3.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'No inbound data. Check directory as per ZINT_ADMIN'
p_nowar space.
--Invalid IDOC group--
when 4.
perform write_log_entry
tables t_ldata
using 'E' 'ZINT_INBOUND_POLLING' <function>
'Invalid IDOC group. Check ZINT_ADMIN.'
p_nowar space.
--Others--
when others.
endcase.
Now store messages not related to a specific key
loop at t_ldata into s_ldata where key_val = space.
move s_ldata-messg to tbl_messages-line.
append tbl_messages.
endloop.
refresh t_ldata.
If data for last date had errors, then stop processing further dates
clear l_last_status.
select status from zint_data into l_last_status
where zint_id = p_intid
and zint_ty = p_intty
and key_val = t_zint_data-key_val.
endselect.
if l_last_status = 'ERR'.
concatenate 'Processing Halted - Errors for Date' l_date
into l_message separated by space.
message s999(b1) with 'ZINT_INBOUND_POLLING' <function>
l_message.
exit.
endif.
endat.
endloop.
endform. "process_data
*& Form set_screen_texts
Assign values to the selection screen titles.
form set_screen_texts .
t_mode = 'Run Mode'. " RJS
endform. " set_screen_texts
RJS Start >>>
*& Form write_data
Save the Inbound data to table ZINT_DATA, for later processing
-->PT_IDATA text
-->PV_ID text
-->PV_TY text
-->PV_FM
-->PV_IB
form write_data tables pt_idata structure zint_idata
using pv_id
pv_ty
pv_fm
pv_ib.
data: l_key_val like zint_data-key_val,
l_seq like zint_data-sequence,
l_created_on like zint_data-created_on,
l_counter type i.
data: lt_zint_data type standard table of zint_data with header line.
get time.
clear l_created_on.
refresh lt_zint_data.
loop at pt_idata.
clear lt_zint_data.
lt_zint_data-zint_id = pv_id.
lt_zint_data-zint_ty = pv_ty.
lt_zint_data-status = 'NEW'.
Derive both the "Key" value (KEY_VAL) and the
"Command Data Date" value (CREATED_ON) to store on the Data table
case pv_fm.
when 'ZINT_INBOUND_INTERFACE_CSSORDR'.
if pt_idata-zint_re(2) = '01'.
perform get_command_order_key using pt_idata-zint_re
l_key_val
l_created_on.
endif.
when 'ZINT_INBOUND_INTERFACE_CSTPORD'.
if pt_idata-zint_re(2) = '01'.
perform get_prod_order_key using pt_idata-zint_re
l_key_val
l_created_on.
endif.
when 'ZINT_INBOUND_INTERFACE_CSTGISS'.
perform get_sales_order_key using pt_idata-zint_re
l_key_val.
endcase.
lt_zint_data-created_on = l_created_on.
lt_zint_data-key_val = l_key_val.
lt_zint_data-length = strlen( pt_idata-zint_re ).
lt_zint_data-raw_data = pt_idata-zint_re.
append lt_zint_data.
endloop.
Setup the sequence number for each key value
loop at lt_zint_data.
at new key_val.
clear l_seq.
endat.
add 1 to l_seq.
lt_zint_data-sequence = l_seq.
modify lt_zint_data.
endloop.
Check for existing data with this same key
clear l_counter.
select count(*) from zint_data into l_counter
for all entries in lt_zint_data
where zint_id = lt_zint_data-zint_id
and zint_ty = lt_zint_data-zint_ty
and created_on = lt_zint_data-created_on
and key_val = lt_zint_data-key_val
and sequence = lt_zint_data-sequence.
Found duplicate data?
if l_counter > 0.
Yes: so remove these records from the input table
loop at lt_zint_data.
clear l_counter.
select count(*) from zint_data into l_counter
where zint_id = lt_zint_data-zint_id
and zint_ty = lt_zint_data-zint_ty
and created_on = lt_zint_data-created_on
and key_val = lt_zint_data-key_val
and sequence = lt_zint_data-sequence.
if l_counter > 0.
delete lt_zint_data.
endif.
endloop.
message i999(b1) with 'Data already exists in SAP! Directory:' pv_ib
'Key:' lt_zint_data-key_val.
endif.
Now save whatever is not a duplicate
loop at lt_zint_data.
Store new data records
insert zint_data from lt_zint_data.
and Store totals for reporting
tbl_totals-zint_id = lt_zint_data-zint_id.
tbl_totals-zint_ty = lt_zint_data-zint_ty.
tbl_totals-created_on = lt_zint_data-created_on.
tbl_totals-count = 1.
collect tbl_totals.
endloop.
endform. "write_data
*& Form get_command_order_key
Extract Command Order from raw data
-->L_LINE text
-->L_KEY text
form get_command_order_key using l_line l_key l_date.
data: l_orddate type d,
l_order(12) type n,
l_data(3000) type c,
l_shortorder(5) type n.
l_data = l_line.
perform extract_field(saplzint_csord)
using l_data
changing l_data
l_orddate.
perform extract_field(saplzint_csord)
using l_data
changing l_data
l_order.
l_shortorder = l_order.
if l_order le 9999.
concatenate l_orddate+2(6) '-'
l_shortorder
into l_key.
else.
concatenate l_orddate+2(6)
l_shortorder
into l_key.
endif.
l_date = l_orddate.
endform. "get_command_order_key
*& Form get_prod_order_key
Extract Commant Ticket number from raw data
-->L_LINE text
-->L_KEY text
form get_prod_order_key using l_line l_key l_date.
data: l_ticketdate type d,
l_data(3000) type c,
l_ticket(10) type n.
l_data = l_line.
perform extract_field(saplzint_cstik)
using l_data
changing l_data
l_ticketdate.
perform extract_field(saplzint_cstik)
using l_data
changing l_data
l_ticket.
l_key = l_ticket.
l_date = l_ticketdate.
endform. "get_prod_order_key
*& Form get_sales_order_key
text
-->L_LINE text
-->L_KEY text
form get_sales_order_key using l_line l_key.
l_key = l_line(10).
endform. "get_sales_order_key
*& Form read_data
Read data from custom table
-->PT_ZINT_DATA text
-->P_STATUS text
form read_data tables pt_zint_data structure zint_data
changing p_rtcod.
data: lt_zint_data type standard table of zint_data with header line.
data: l_found_rec(1) type c.
clear p_rtcod.
refresh: pt_zint_data, lt_zint_data.
Read stored data in date/time order
select * from zint_data into table lt_zint_data
where zint_id = p_intid
and zint_ty = p_intty
and status in ('ERR','NEW')
and created_on in s_datum
order by created_on key_val sequence.
Always ensure any existing Error records are re-processed first.
loop at lt_zint_data where status = 'ERR'.
move lt_zint_data to pt_zint_data.
append pt_zint_data.
Store totals for reporting
tbl_totals-zint_id = p_intid.
tbl_totals-zint_ty = p_intty.
tbl_totals-created_on = lt_zint_data-created_on.
tbl_totals-count = 1.
collect tbl_totals.
endloop.
Loop through the NEW records - add to list if no other errors
loop at lt_zint_data where status = 'NEW'.
l_found_rec = 'N'.
loop at pt_zint_data where status = 'ERR'
and created_on <> lt_zint_data-created_on.
l_found_rec = 'Y'.
exit.
endloop.
Found no errors for another date - so add NEW data
if l_found_rec = 'N'.
move lt_zint_data to pt_zint_data.
append pt_zint_data.
Store totals for reporting
tbl_totals-zint_id = p_intid.
tbl_totals-zint_ty = p_intty.
tbl_totals-created_on = lt_zint_data-created_on.
tbl_totals-count = 1.
collect tbl_totals.
endif.
endloop.
endform. "read_data
UNDER THIS THERE IS BELOW PROGRAM
*& Include ZINT_CSTPORD_ROUTINES *
Report: ZINT_CSTPORD_ROUTINES
Description: REDDIES Interfaces: COMMAND-SAP Interface Forms (Tickets)
Routines fpr the COMMAND-SAP production order interface. Note: some
of the code in this file has been directly copied from the original
interface (ZPPU_COMMAND_PRODUCTION, Jason Moore, Extend). This has
been done for two reasons: (1) the code works and (2) to save time.
Change History:
Date User Request Description
13/02/2006 EDWG WG1K902600 Original program.
*& Form process_inbound_data
Create prod. orders from ticket data extracted from the COMMAND
system. Note that large portions of the code in this routine
have been copied from the retired ZPPU_COMMAND_PRODUCTION
interface program. This was done (1) because the old code works
and (2) to save development time.
-->T_ZINT_IDATA Internal table of interface data
-->T_ZINT_PARAM Internal table of interface parameters
-->T_ZINT_MSLOG Internal table of messages
-->P_ZINT_ID Interface ID
-->P_ZINT_TY Inteface type
-->P_ZINT_IS IDOC group for interface
-->P_ZINT_DL Flag: delete IDOC group when complete
-->P_ZINT_AL Flag: run in standalone mode
-->P_ZINT_NW Flag: do not log warning messages
-->P_ZINT_SQ Interface sequence number
<--P_ZINT_RC Return code (<>0=>error)
form process_inbound_data tables t_zint_idata structure zint_idata
t_zint_param structure zint_param
t_zint_mslog structure zint_mslog
using p_zint_id type zint_id
p_zint_ty type zint_ty
p_zint_is type zint_is
p_zint_dl type zint_dl
p_zint_al type zint_al
p_zint_nw type zint_nw
p_zint_sq type zint_sq
changing p_zint_rc type zint_rc.
data: lva_partner(10) type n,
lva_cmdord(12) type n,
lva_prodmat(18) type n,
lva_filemat(18) type n,
lva_prodord(12) type n,
lwa_file type ty_file,
lva_type(2) type c,
lva_satsur type c,
lva_mincart type c,
lva_text(200) type c,
lva_counter type i,
bblines type i,
lva_shortorder(5) type n,
lva_loggr like marc-loggr,
lva_saleord like vbkd-vbeln,
lva_linkindex like sy-tabix,
lva_xabln like likp-xabln,
lva_vbeln like likp-vbeln,
l_vbfa like vbfa,
lva_igmng like caufv-igmng,
lva_gamng like caufv-gamng,
lva_qdiff like caufv-gamng,
lva_ltxa1 like afru-ltxa1,
lva_aufnr like afru-aufnr,
lva_wemng like afpo-wemng,
lva_psmng like afpo-psmng,
lva_rsnum like resb-rsnum,
lva_rspos like resb-rspos,
lHi ,
Modify your code like this .
DATA: YEARS TYPE TFMATAGE,
MONTHS TYPE TFMATAGE.
*declare the variable as type Char
DATA: Y_NUM(4) TYPE c,
M_NUM(2) TYPE c.
IF NOT SOURCE_FIELDS-/BIC/ZDOB IS INITIAL.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM = SOURCE_FIELDS-/BIC/ZDOB
I_DATE_TO = SY-DATUM
I_FLG_SEPARATE = 'X'
IMPORTING
E_MONTHS = MONTHS
E_YEARS = YEARS.
Y_NUM = YEARS.
M_NUM = MONTHS.
CONCATENATE Y_NUM '.' M_NUM INTO RESULT.
This will solve your problem.
MM -
Hi
There are some projectors it shows connected but when i ping i cant reach
I tried extended ping from the same vlan , no success .
i tried to ping broadcast address no success.
it works only when do a port shut or no shut
What could be the problem
Please help
Thank youHi Akash
The projector connected on a layer 3650x which is connected to the distribution switch using trunk .
Actually i am not following that " you can check interface counters both sides to check direction of packet drop." Please kindly explain
I checked the arp entry on distribution side , i did not find anything . The arp entry available only after shut or no shut on the interface .
Does a faulty cable can be the cause of the problem ?
Thank you -
General userexit before save of adrc-data
Hi there!
I need a common userexit to save additional data each time adrc-data is saved.
This can be changed or new adress data if there's a new customer as well as there's a new built in equipment for example.
Is there such an always valid userexit for saved adrc-data?
I've found the SZRS0003 (adress check interface for external components). Could this be a solution in my case? What i have to do in this case... Do i have to switch on the external adress check anywhere?
Thanks in advance for any help.
Cheers, IngoHi!
I've moved this question to the enhancement-section 'cause i think it's better there
Cheers, Ingo -
Freight units / Deliveries with zero quantities in TPVS
Hi Gurus,
we are prototyping TPVS optimizer but facing one problem of zero quantity for freight units in Transfer orders to OLTP / OLTP generation of deliveries.
Reason in the log says requested quantity not completely available but there is plenty of stock.
if we go ahead in TPVS and create delivery then delivery will have zero qty, for the same sales order if we create delivery in ECC then there is no issue.
Thanks,
kumarHi Rax,
Please check /sapapo/cp1 whether you have assigned the Publication type 340 for deliveries and 330 for shipments for the deliverying location (plant or DC) and logical system of R/3.
Please Check Interface settings assign R/3 logical system and shipment type for the Means of transport and the shipment will be outbound. Mapping of APO means of transport (Transportation resource) assigned to R/3 means of transport (Vehicle).
If these settings are fine then it should work.
Please revert for query.
I hope this helps you.
Regards,
Kishore Reddy.
Maybe you are looking for
-
Unable to run postclone script in Web tier
Hi guys, I am trying to clone an existing Oracle Ebsuiness Suite 12.1.3 environment. Now I am trying to execute command: perl adcfgclone.pl appsTier in the Web tier node, but I am getting next error message: Executing script in InstantiateFile: /oram
-
Audio not working.... please help!
Alot of the time when I talk on my phone I use the headset for hands free, but recently I've been having a major problem. After I unplug the headphones, the phone still recognizes them as being plugged in(pressing the volume buttons on the side cause
-
Mac Pro 4870, 8800, 3870 for FCP?
Hi, I was looking at getting a 4870 for my Mac Pro. I want the best performance for FCP - rendering, Color, exporting with compressor etc... It seems the 4870 is the fastest but then I was wondering if the 8800 under the upcoming new os release would
-
Secured dimensions - member access profile
Hi, I have following question concerning secured dimensions As you all know, you can secure dimenions using "modify applications". There you have the options for "secure" of "R/W" If you choose to secure a dimension, you have the option read only and
-
IVI FGEN problems with HP 33120A
Hi, I'm trying to control a HP 33120A using IVI through CVI. The basics work well, but when I try to do arbitrary waveforms of amplitude modulation if get errors. I have include the code snipets with error handling removed for brevity. Unfortunately