Vendor family representation in SKU
Hi All,
I've requirement at my client where the vendor's family of products drive number of functions:
It's primarily like the product hierarchy, but it is the vendor's product classification we need to capture
The standard PRODH field we're using to capture the client's internal product classification .
They perform number of functions by this field:
- Rollup reporting by vendor family products
- Customer pricing by line of vendor family products
- Sales out reporting by line of vendor family products
- Rebates by line of vendor family products
We've looked at different options - i.e Vendor sub-range , material group, classification etc. to capture this, however all these do not work for all the requirements without enhancements . So, we're looking for alternative solution someone might have come across to address similar requirement , a hierarchy attribute in material that would fit vendor's product classification and could be used for sales order pricing, purchasing & sales reporting.
The example would be for vendor: HP Corporate > HP Printers > HP Laser Printers.
It's at the HP laser printer level where they would like to perform the functions (without creating new vendors for each level)
Any suggestions.
Ketan
Hi Piyush,
You can use Batch specific UOM.
To help you I have pasted some interesting conversation of SDN related to the Batch Specific UOM.
[1. From PP|Re: Batch specific UOM]
[2. From MM|BATCH SPECIFIC MATERIAL UOM]
[3 From SD.|Re: Batch specific UOM]
Regards,
Shyamal
Edited by: Shyamal Joshi on Aug 5, 2008 10:44 AM
Similar Messages
-
Back up discounts from Vendors in consignment purchase
A retailer purchases stock on consignment from a vendor before the start of the season
During the season , for slow moving stock the retailer enters into a markdown arrangement with the vendor where for specific SKU the retailer marks down the price by certain percentage which is shared with the vendor.
For example: If for sports sweat shirt for the XXL sizes the retailer wants to offer a 50 % discount on the product . Of this discount 25% will be shared by the vendor/manufacturer.
During the settlement of the vendor's liability this additional discount needs to be reduced from the vendor payables.
How can this be managed .
Could someone please helpHi,
Create separate condition type for Vendor discount and company discount and assign to separate G/L account though Account Key
While settlement..compair with vendor discount G/L Account
Regards
Vijai Jain -
MobileSTOR MS2UT + esata + USB + mac pro = never-ending problems
Hey gang,
I seemed to have entered a perfect storm here:
I had purchased the *MobileSTOR MS2UT 2 Bay SATA to eSATA/USB 2.0 RAID 0/1* Enclosure initially for a *dual 800 quicksilver G4* mac that I had, looking for a hardware-based Raid solution for back ups and to not burden the G4 processor. I have replaced the G4 with an early *2008 2.8 dual quad core mac pro*. After two machines and two different PCI sata cards, I've had no luck....
(website for the above enclosure)
http://www.sansdigital.com/mobilestor/ms2ut.html
For starters, in the G4, I had a quality Seritek/1ve2+2 controller that had no problem with two other single drive enclosures, but failed with the MS2UT.
http://www.firmtek.com/seritek/seritek-1ve2plus2/
A glib response from Seritek support says that I should use their enclosure. Digging around I find that I need a controller card that can handle a port multiplier enclosure rather than just any serial ata enclosure. Seems silly to me that the user has to dig for this. I mean the USB & FIREWIRE interfaces don't seem to care: it says USB/FIREWIRE on the effing box of both the controller and on the drive, badda-bing, badda boom: it works. Whats with this high maintenance of esata. Well you get roughly 2-3x the performance so Ok, maybe its worth it.
Well, with the macpro on the horizon,, I give up on the G4, close that unsolved mystery. For the mac pro I figure PCIe, a modern computer, no problem. I get the computer, fish around the internet for an esata PCIe card, then I come across this review of the WiebeTech SilverSATA II which appears to be similar to that of the MobileSTOR:
http://www.amug.org/amug-web/html/amug/reviews/articles/wiebetech/silver2/
It appears that the unit has specific tastes as far as having the right card to make it bootable, multiport aware, etc... (the Sonnet Tempo 4+4 card works but its a PCIx card, not PCIe)
Like I said: install a bootable Mac OS on any USB/firewire drive, plug it into any card, and it works... estata... its russian roulette...
Ok so I round up some vendors, (firmtek, sonnet, Highpoint) send them emails to see what they think: if their latest cards will work with the MS2UT... They are all over the place.. they think it may work, they dunno... it should work, they haven't tested it... then they try to push their own enclosure hardware on me. I mean see an astrologist or have your palm read.. it seems more likely you'll get a more accurate answer from them, rather than vendors... props to Sonnet, though, they list compatibility right on the page with their controller.
then 10.6 comes out... and you email vendors about compatibility on that OS, and they don't even email you back.
So I find this review of the highpoint rocket raid for the mac on the great sight: Barefeats.com
http://www.barefeats.com/hard119.html
to make a long story short:
+KEY FEATURES of the "eSATA for Mac"+
+1. Dual eSATA ports+
+2. 32 and 64-bit EFI onboard+
+3. Able to boot Mac OS X+
+4. Plug and Play for (Oxford and Silicon Image chipset) external storage+
enclosures
+5. 4x PCIe rating+
+6. Support for Direct Attached and Port Multiplied enclosures+
+7. RAID 0, 1, 5, and JBOD support using browser-based manager+
+8. Native support for Snow Leopard+
+9. Compatible with 2006 - 2009 Mac Pro+
I should be set, right? WRONG!
I email highpoint, detailing that I planned to mix both Port multiplied (PM) and direct access (DA) enclosures on the same card at the same time. They say maybe (only describing the PM enclosure, not even mentioning the DA enclosure compatibility as I specified), since its a raid card and I intended to use it with an enclosure with its own raid hardware, however they say they see no issues. Well it shows they don't even know their own hardware: Their docks say that the card supports PM enclosures as well as DA (direct access) enclosures. Their web based software even shows the two as separate categories. What is buried in the manual and not cleared up by tech support or their product page is that YOU CAN'T MIX PM AND DA ENCLOSURES ON THE CARD AT THE SAME TIME!!! I explained more in the paragraph above than any tech support from any company. Unbelievable where support has gone these days.
I discover the above because I found the card at Fry's believe it not and since they have a generous return policy I tried it out and learned the above the hard way. No dice on the MS2UT with what is perhaps the most forgiving esata card for the mac.
So more hunting on the web, this time the enclosure's manufacture site: sans digital.
http://www.sansdigital.com/mobilestor/ms2ut.html
...clicking on the accessories tab I find several esata adapter cards... funny that they include ones that don't appear to support PM enclosures... Anyway, I study two that state they supports port multipliers:
http://www.sansdigital.com/adapters/ha-san-4espcix2.html:
http://www.sansdigital.com/adapters/ha-dat-4espcie.html
Ok, I may not get a bootable enclosure.. I just want to get this thing working in esata since cloning my internal raid on the mac pro takes 8 hours using usb, and my main purpose is to maintain a clone so I make my compromise.
I should be set, right? WRONG!
reading the fine print on both cards it says:
*(Please note that the host adapter card is based on Silicon Image chipset, which currently only support up to MAC OS 10.5.1 by Silicon Image.)*
I do more research, it seems any manufacturer using chips by Silicon Image will have an issue with 10.6 macs! On some websites it says Silicon Image will never release a driver. On firmtek it says they make their own driver and swears that it works. At the Silicon Image website they say they are an OEM provider so don't bother them, and that its up to the vendor to make a compatible driver. Sheesh!!
I don't get it.. whats the point in having an esata sticker if it appears to come in more flavors than an ice cream shop!
Oh and it gets better: I go to the sonnet site, thinking they have to have something that works, looking at their latest tempo SATA E4P:
http://www.sonnettech.com/product/temposatae4p.html
well, the fine print is EXHAUSTIVE, but again props to Sonnet for making it crystal clear:
(4) Sonnet Tempo cards are compatible with most external SATA storage. However, external hard drives with USB 2.0/eSATA dual interface based on the Oxford Semiconductor OXU931DS storage controller chip may not be compatible with Mac OS X when connected via SATA. Known issues are kernel panics occurring when the drive is connected, or the drive not being recognized by the operating system.
+Summary of external SATA storage+
+• Storage with eSATA alone +
Compatible
+• Storage with triple interfaces +
Compatible
+• Storage with eSATA plus Firewire 400 and/or 800 +
Compatible
+• Storage with port multiplier support (multiple drives) +
Compatible
+• Storage with RAID 0, 1, or 5 (multiple drives) +
Compatible
+• Storage with eSATA plus USB (based on JMicron 20366) +
Compatible
+ these compatible drives include, but are not limited to:+
+- OWC Mercury On-the-Go USB 2.0/eSATA 2.5" portable+
+• Storage with eSATA plus USB (based on Oxford OXU931DS) +
+not compatible+
+ these incompatible drives include, but are not limited to:+
+- Western Digital My Book™ Premium ES Edition™+
+- Seagate Technology FreeAgent™ Pro+
+Advanced users note that this card is not yet compatible in full 64-bit boot. Snow Leopard default boots in 32-bit mode, except in an Xserve.+
So in short: if you have an enclosure that has both USB and esata, but does not use the JMicron 20366, then it will not be recognized by the card. If you have an enclosure with three interfaes: USB, FW and esata, you're fine. Keep in mind too: most manufacturers don't put the source manufacturer of their chipsets on the box. So I ask..
*HOW IS THE CONSUMER SUPPOSED TO KNOW!*
I swear, a perfect analogy is if I go to best buy, buy a toshiba DVD player only to discover it doesn't play DVD's that contain movies produced by Sony Pictures..because its not a a Sony/columbia House movie. You think consumers would put up with that crap? UNBELIEVABLE...
So now I have this really versatile enclosure that apparently can't run on Mac 10.6 with ANY esata controller for the mac. I really like the design of the enclosure, with its hardware based raid that is hot swappable and has a small footprint. However there seems to be no way to get a controller card for this device that will work on a 10.6 mac.
I guess whats inferred is that you should get an enclosure with the fewest variety of ports, i.e. esata/fw/usb... ironically if it has all three, you are ok, but not if it has usb/esata. Being that USB is the most popular, thats not easy. I'm looking to contact Sans Digital to see if they will exchange it for me, possible for a model with esata/fw800 or an esata only model, if it exists. My last resort is to just use it as a USB drive (my intention was to use it as a clone of my system, with the added security that the enclosure makes a copy of a copy in raid 1), however its like 3x as time consuming than esata.
If anyone has a working MobileSTOR MS2UT/wiebetech SilverSATA II in a 10.5 mac pro, please respond to me with your config. Thanks for reading!Thank you hatter for your reply.
I'm familiar with OWC, as I've done business with them since 2001, as well as XLR8.
I have a 2008 mac pro so the 2009 model related problems are not an issue in my situation
As I stated above I go to reputable vendors for my hardware who have specific mac experience. I look specifically for hardened compatibility so that there is support for things like deep sleep. The Sans Digital enclosure was over $200..it was not cheap. The USB/Esata combo is the most common interface for the enclosure storage market. Having a compatibility issue is a vendor fault, not the buyer. Having minutiae flavors of esata compatability based on chipsets roulette wheel is inexcusable. The enclosure needs that I have is for the medium to be removable and be able to be rebuilt at the hardware level, i.e. at the enclosure's control panel. To the mac its just a drive. The hotswap and back up is transparent to the OS and mac hardware, and allows me to change from raid 0/1 and do back up right from the enclosure interface.
So far I haven't had problems with USB/Firewire. Meanwhile Esata to me has been nothing but beta testing for vendors and seeing how the chipset manufacturers have gone loosey-goosey on following spec and just dump cheap chinese crap into the market with no pride.
for comparison:
USB/FW, PATA, SATA, SCSI
1) industry standard
2) native drivers
3) bootable. Period.
4) buy a controller card/raid card, plug it in, format, it works even through major OS upgrades.
5) USB/FW: Hot-swapable. Yes it really does work.
Esata:
1) Multiple standards (again, look at the Sonnet website to see the minefield one has to walk through to mate a controller card to an enclosure)
2) non native drivers. Buying an esata card is like marrying into the vendors family. Plus if you manage to get things working and do an OS upgrade, you are playing russian roulette. If you system boots off it, then get life insurance because you may kill yourself.
3)Not bootable and no one seems to care to explain why. Whats odd is that some earlier PCIx cards were bootable (like sonnet Temp 4x4) but their PCIe successors aren't. Not sure if this has to do with the host computer BIOS and/or the current chipsets from SI which rely on custom drivers from the vendors. Another lovely example of this are the ODD_SATA ports on the Mac pro: storage only, not bootable. Sure it makes sense now that I've learned it the hard way, however to users of FW/USB and even IDE, one would think that motherboard ports are bootable. Yes I know this is a mac bios thing and its not even considered as part of the feature set of the computer
4) As I've shown, each controller card seems to be unique, even if its from the same vendor. Even the drivers vary from card to card! Heck even the vendors are unsure as to how compatible their controller cards are with various enclosures. That is proprietary, not industry standard. OS upgrades doesn't seem to provide native driver support for Direct access and/or port multiplying interfaces. The problem with this is that film/video users like myself like to build bullet proof systems, and with raids that I've built from IDE, FW, or USB, I've never had the minutiae of compatibility issues as I've had with esata. I installed an Acard raid controller in my dual 800 back in 2001, installed the drives and forgot about it. it just worked through multiple OS upgrades. Not sure whats gong on with esata.
5) Can't call it hot swappable if I can't get the **** thing to wok in the first place.
My analysis is this: Esata is basically a proprietary format to the vendor that sells the hardware, while USB/FW is an industry standard. I bought a quality enclosure that said "esata", I bought a quality controller that said "esata", it didn't work. I had to learn the hard way about DA and PM enclosures and now about chipset conflicts. I've built computers since the late 80's amiga days, hot-rodding that computer well beyond spec and with custom cooling. SCSI terminators and IDE master/slave issues were easy-cheesey because they followed straightforward rules. This esata stuff is just plain sloppy work on the part of vendors and as Danny Glover said I'm getting to old for this **** as far as being a beta tester for hardware. -
ERS/Self Billing and A/P-A/R
Hello!
We have a self billing process wherein we do the Evaluated Receipt Settlement for certain vendors - the set up is that the invoicing party for these vendors is another vendor which is actually our own company for liability reasons. To clarify for the sake of terminology:
1. Company code A and company code B are both set up in SAP
2. Vendor X represents the company code B in the Purchasing org and co code A
3. Vendor Y which actually provides the freight setvices to us has it's invoicing partner set up as X
For liability and taxation reasons, the company code B is responsible for paying the vendor Y for the services provided to company code A.
The transaction takes place between in sales org/co code A and the accrual for the services takes place in co code A against the paying partner X for services that are actually provided by Y. We do the ERS process where we self bill in co code A the liability it owes to co code B. That part works fine and creates the A/P in A to B. However, we need to automate the process whereby which this self billing will also create the A/R in company code B from co code A and we want to do the MIRO in B for the invoices received from Y.
Something similar to the normal inter company transactions where we can create the A/P via the Idocs or any other way of doing it?
Any clues how we can go about it?
Appreciate any help/direction? Please respond with any questions you may have?
Thanks a lot!HI ,
AR module deals with the Customers related transactions,
predominantly sales/ collection(receipts) related transactions.
AP module deals with Vendor related transactions-predominantly procurement& payments related transactions.
chandra -
How close is close enough?
How close is close enough?
I'm wondering how close is close enough, when trying to match our vendor's colors.
We have been tasked with matching our vendor who is matching towards Gracol.
Our vendor has previously been fairly out of spec with their gray balance being overall too red, but they are moving much closer to the Gracol standard.
We have been using our HP z3100 to match their proof outputs. So far, after having them run out a target for me to profile and match, I now have a Delta E of 1.88 average when comparing our P2P25 G7 target output to theirs.
Our deep blues and dark Magentas however, are about a max of 7 Delta E off of theirs.
Comparing their proof sheet to ours is visually very close. It's just in the deep blues where their colors have a slight magenta cast to them.
My concern is that we are matching our vendor's representation of Gracol and we don't have a real third party P2P25 target from a tightly controlled press sheet for verification as to who is closer to the standard.
The vendor might be a little too red, but we might be a little too gray balanced. Our three color gray might be too neutral.
I'm using a spectro with Profilemaker Measure tool for comparing Delta E. I'm also using no RIP, just custom profiles through the RGB printer's internal RIP which doesn't give me much, if any adjustments for calibrating linearity.
Our company is willing to buy a dedicated RIP so that we can match the vendor better, but my concern is that we might not get much better than the Delta E of 1.88 that we have now, and if we're going to spend that extra $15k, I want to make sure we will be closer.
There is also the possibility that we can "toy-with" the printer using different paper settings to get a better match to the vendor's linearity by choosing a paper setting which gets us closer to theirs.
The real main difficulties are trying to speak color management to the people who make the cost decisions and have no comprehension of what we're talking about.
Does anyone have thoughts on whether I'm doing it the difficult way, or should a new RIP make it easier for us?I take it you do not own the HPz3100ps/GP? The gray balance could be critical, especially when you are trying to match a particular color. It would be nice if you spoke about your vendor's printer/proofer. The HP is a 12-cartridge photographic inkjet printer and, often times, a photograph's color gamut is going to be much wider than a graphic arts typical offset press. If their proof is showing warmer grays, then it could be their color gamut is not as wide as yours. I'm not sure which version of the z3100 you're using, but I do know that the z3100ps/GP is a very accurate proofer and because it has an internal spectrometer and RIP, it can calibrate without you having to put out more cash for a third party RIP. If you have the basic z3100, then perhaps you should look at a third party RIP ( you can probably get an upgrade through HP ).
-
Hi ,
I am trying to create a BDC for routing opertaions update . During recording for a Screen ( that has subscreens )i get this :
BDC_SUBSCR SAPLCPDO 1210GENERAL.
I wanted to know Is there a special way to populate the subscreen fields ? I just copied the bdcdata-fnam = 'bdc_subscr' and fval = SAPLCPDO 1210GENERAL , but it looks like this is not the correct way as i get an error saying No transaction data for screen SAPLCPDO.
I would appreciate if anyone can let me know how to code for this.
Thank you very muchTamanna,
If your requirement is how to code BDC program for a transaction which has subscreens in it...then refer to the example program I had created at one of my client places. But this is not for tcode CA02. Sorry I couldn't be of more help.
* Table declaration
TABLES:
wyt3,
/bay2/u7sxcrecce.
*& Internal Table Declaration for Bushy Park Legacy data
DATA : BEGIN OF i_leg OCCURS 0,
po_nm(15), " PO No - EBELN
byrc(2), " Purchasing group - buyer code - EKGRP
vendor(10), " LIFNR
po_date(6), " BEDAT
cur(3), " currency - WAERS
zterm(2), " terms code - ZTERM
fob(2), " FOB code - IINCO1
mat(7), " material - EMATN
mat_pck(15), " material PCK - ematn
quant(15), " quantity due - MENGE
u_meas(2), " Unit of measure - MEINS
del_date(6), " Item delivery date - EINDT
ven_mat(30), " Material # used by vendor
net_pr(17), " Net price - NETPR
ship_via(3), " Ship via
del_loc(5), " Delivery location - ABLAD
dist_acc(21), " Distribution account
txz01(55), " Purchase Document Text
recip(5), " Recipient - WEMPF
line_cd(3), " Line code
comp(2), " Company
line_num(4), " PO line number
indicator(1), " Indictor as to what kind of PO's is being converted
projnbr(30), " filler
works(2), " Legacy works - WERKS
work_ord(7), " Work Order Number - AUFNR
wbs(8), " Project number - use for WBS x-ref
cost_elem(7), " G/L account for Project PO's w/o mat. master - SAKTO
xref_wbs(23), " WBS for manual load - SAKTO
percent(12), " Mara
* Filler for NET PRICE
filler(17), " Mara - net price
gl_act(7), " GL acct for Work Order
label(3), " Label
iwg_warehouse(9),
cost_cen(5), " Cost center
expence_cl(4), " Expence class
tax_code(2), " Tax Code
quan_gr(16), " Quantity of goods received
amt_gr(17), " Amount of goods received
quan_fi(16), " Quantity invoiced
amt_fi(17), " Amount invoiced
site(15), " Site name - Added by Naren Somen
* flag(1), " Indicator for valuted material - N/A
* commit_amt(14)," Commitment value
END OF i_leg.
*& Internal Table Declaration for SAP data
DATA : BEGIN OF i_sap OCCURS 0,
po_nm(15), " PO No - EBELN
ekgrp(3), " Purchasing Group
lifnr(10), " Vendor Number
zterm(4), " Payment Terms
werks(4), " Plant
txz01(40), " Text
netprice(14), " Price
commit_amt(14), " Commitment values
END OF i_sap.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: i_xleg LIKE i_leg OCCURS 0 WITH HEADER LINE.
DATA: i_wyt3 LIKE wyt3 OCCURS 0 WITH HEADER LINE.
DATA: p_itab LIKE i_leg OCCURS 0 WITH HEADER LINE.
* Internal table to store the messages
DATA: BEGIN OF i_mesage_tab OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll .
DATA END OF i_mesage_tab.
*Begin of change by Naren Somen
*Buffer to the hold the records from tab delimited text file
DATA: BEGIN OF i_record_buffer,
record_buffer(4000) TYPE c.
DATA: END OF i_record_buffer.
*End of change by Naren Somen
DATA: w_input_rec_count(6) TYPE n," Input File Record Counter
w_address TYPE p, " Count of vendor addresses found
w_flg TYPE c VALUE 'X', " BDC Rec Indicator
w_insert_line(1) TYPE c, " Insert New Line Item in PO
w_del_date(10), " Delivery Date Format Changes
w_year(4), " Year
w_mon(2), " Month
w_date(2), " Date
w_purgrp(3), " SAP Purchasing group
w_vendor(10), " SAP vendor
w_payterm(4), " SAP payment terms
w_plant(4), " SAP plant
w_acct(10), " SAP G/L acct - temp
w_order(12), " SAP Work Order Number
w_aufnr LIKE ekkn-aufnr. " Work Order
DATA: w_input LIKE swaexpdef-expr,
w1_dec LIKE dfies-decimals,
w_mul TYPE i,
w_val TYPE i,
w_val01 LIKE ekpo-netpr,
w_netprice(11), " Net Price
w_netprice_hold(11), " hold variable for net price
w_netprice1(14), " Net Price before dec. point
w_netprice2(9), " Net Price after dec. point
w_quant TYPE c VALUE '1', " Quantity
w_count LIKE sy-tabix, " Loop Counter
w_costcenter TYPE kostl, " Costcenter
w_glaccount TYPE kstar, " G/L account
w_item TYPE bstpo VALUE '0010', " Line item number
w_quote(1) TYPE x VALUE '27'.
DATA: BEGIN OF i_epstp,
field1(11) TYPE c VALUE 'RM06E-EPSTP',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_epstp.
DATA: BEGIN OF i_knttp,
field1(10) TYPE c VALUE 'EKPO-KNTTP',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_knttp.
DATA: BEGIN OF i_txz01,
field1(10) TYPE c VALUE 'EKPO-TXZ01',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_txz01.
DATA: BEGIN OF i_eeind,
field1(11) TYPE c VALUE 'RM06E-EEIND',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_eeind.
DATA: BEGIN OF i_netpr,
field1(10) TYPE c VALUE 'EKPO-NETPR',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_netpr.
DATA: BEGIN OF i_matkl,
field1(10) TYPE c VALUE 'EKPO-MATKL',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_matkl.
DATA: BEGIN OF i_werks,
field1(10) TYPE c VALUE 'EKPO-WERKS',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_werks.
DATA: BEGIN OF i_ktext1,
field1(11) TYPE c VALUE 'ESLL-KTEXT1',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_ktext1.
DATA: BEGIN OF i_meins,
field1(10) TYPE c VALUE 'ESLL-MEINS',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_meins.
DATA: BEGIN OF i_ekpo_meins,
field1(10) TYPE c VALUE 'EKPO-MEINS',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_ekpo_meins.
DATA: BEGIN OF i_menge,
field1(10) TYPE c VALUE 'ESLL-MENGE',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_menge.
DATA: BEGIN OF i_ekpo_menge,
field1(10) TYPE c VALUE 'EKPO-MENGE',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_ekpo_menge.
DATA: BEGIN OF i_tbtwr,
field1(10) TYPE c VALUE 'ESLL-TBTWR',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_tbtwr.
DATA: BEGIN OF i_mkntm,
field1(11) TYPE c VALUE 'RM11K-MKNTM',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_mkntm.
DATA: BEGIN OF i_kostl,
field1(10) TYPE c VALUE 'ESKN-KOSTL',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_kostl.
DATA: BEGIN OF i_sakto,
field1(10) TYPE c VALUE 'ESKN-SAKTO',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_sakto.
DATA: BEGIN OF i_bstpo,
field1(11) TYPE c VALUE 'RM06E-BSTPO',
field2(1) TYPE c VALUE '(',
field3(3) TYPE n VALUE 000,
field4(1) TYPE c VALUE ')',
END OF i_bstpo.
DATA: BEGIN OF i_kstar,
kstar TYPE kstar,
END OF i_kstar.
DATA: c_yb(2) VALUE 'YB'.
DATA: c_partner_counter(3) TYPE c VALUE '002'. "Partner Counter -
"Naren Somen
CONSTANTS: c_185(4) TYPE c VALUE '0185', " System ID - Walker
c_202(4) TYPE c VALUE '0202', " System ID - Bushy Park
c_delimiter(1) TYPE x VALUE '09'," tab character-Naren Somen
c_unit(2) TYPE c VALUE 'PU', " Unit of measure
c_sq(2) TYPE c VALUE 'SQ',
c_zero(1) TYPE c VALUE '0',
c_loop(2) TYPE c VALUE '14',
c_00(2) TYPE c VALUE '00'.
*& Input Parameters / Selection Options
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-tx1.
PARAMETERS : p_input LIKE filename-fileextern OBLIGATORY, " Input File
p_error LIKE filename-fileextern OBLIGATORY. " Output File
SELECTION-SCREEN END OF BLOCK bl1.
SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE text-tx3.
PARAMETERS : p_ekorg LIKE ekko-ekorg OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bl3.
SELECTION-SCREEN BEGIN OF BLOCK bl4 WITH FRAME TITLE text-tx4.
PARAMETERS : p_uname LIKE apqi-userid OBLIGATORY,
p_sess LIKE bgr00-group OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bl4.
*& Main Program Logic
START-OF-SELECTION.
PERFORM open_input_output_files.
PERFORM create_bdc_session.
PERFORM write_results.
END-OF-SELECTION.
*& Form OPEN_INPUT_OUTPUT_FILES
FORM open_input_output_files.
PERFORM open_input_file.
PERFORM open_output_error_file.
ENDFORM. " OPEN_INPUT_OUTPUT_FILES
*& Form CREATE_BDC_SESSION
FORM create_bdc_session.
PERFORM open_group.
i_xleg[] = i_leg[].
LOOP AT i_leg.
IF i_leg-po_nm = i_xleg-po_nm.
SKIP.
ELSE.
PERFORM read_xref_tables.
*-- First screen
CLEAR w_insert_line.
PERFORM bdc_dynpro USING 'SAPMM06E' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RM06E-BSART'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'EKKO-LIFNR' i_sap-lifnr.
PERFORM bdc_field USING 'RM06E-BSART' c_yb.
PERFORM bdc_field USING 'EKKO-EKORG' p_ekorg.
PERFORM bdc_field USING 'EKKO-EKGRP' i_sap-ekgrp.
PERFORM vendor_address.
IF w_address EQ '3'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' '04/02'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SELV'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' '04/02'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SELV'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' '04/02'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SELV'.
ENDIF.
IF w_address EQ '2'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' '04/02'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SELV'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' '04/02'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SELV'.
ENDIF.
IF w_address EQ '1'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' '04/02'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SELV'.
ENDIF.
PERFORM bdc_dynpro USING 'SAPMM06E' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RM06E-EBELP'.
PERFORM bdc_field USING 'BDC_OKCODE' '=KOPF'.
PERFORM bdc_dynpro USING 'SAPMM06E' '0101'.
PERFORM bdc_field USING 'BDC_CURSOR' 'EKKO-VERKF'.
PERFORM bdc_field USING 'BDC_OKCODE' 'AB'.
PERFORM bdc_field USING 'EKKO-VERKF' i_leg-po_nm.
PERFORM bdc_field USING 'EKKO-ZTERM' i_sap-zterm.
PERFORM bdc_field USING 'EKKO-SPRAS' 'EN'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLXM06'.
PERFORM record_counter.
LOOP AT i_xleg WHERE po_nm EQ i_leg-po_nm.
* w_count = w_count + 1.
WRITE: i_leg-del_date TO w_del_date YYMMDD.
CONCATENATE '20' w_del_date INTO w_del_date.
MOVE w_del_date(4) TO w_year.
MOVE w_del_date+4(2) TO w_date.
MOVE w_del_date+6(2) TO w_mon.
CONCATENATE w_date '/' w_mon '/' w_year INTO w_del_date.
PERFORM item_xref_tables.
IF w_insert_line EQ space.
*-- Second Screen Line # 1
PERFORM bdc_dynpro USING 'SAPMM06E' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' i_eeind.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
* PERFORM bdc_field USING i_bstpo w_item.
PERFORM bdc_field USING i_epstp 'D'.
PERFORM bdc_field USING i_knttp 'K'.
PERFORM bdc_field USING i_txz01 i_sap-txz01.
PERFORM bdc_field USING i_eeind w_del_date.
PERFORM bdc_field USING i_netpr i_sap-netprice.
PERFORM bdc_field USING i_matkl '25080400'.
PERFORM bdc_field USING i_werks i_sap-werks.
**-- Second Screen Line # 2 Onwards.
ELSE.
*--- Call Insert Line.
PERFORM line_item_data.
IF i_epstp-field3 GT c_loop.
PERFORM bdc_dynpro USING 'SAPMM06E' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RM06E-EBELP'.
PERFORM bdc_field USING 'BDC_OKCODE' '=NP'.
PERFORM record_counter.
PERFORM line_item_data.
ENDIF.
PERFORM bdc_dynpro USING 'SAPMM06E' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR' i_eeind.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
* PERFORM bdc_field USING i_bstpo w_item.
PERFORM bdc_field USING i_epstp 'D'.
PERFORM bdc_field USING i_knttp 'K'.
PERFORM bdc_field USING i_txz01 i_sap-txz01.
PERFORM bdc_field USING i_eeind w_del_date.
PERFORM bdc_field USING i_netpr i_sap-netprice.
PERFORM bdc_field USING i_matkl '25080400'.
PERFORM bdc_field USING i_werks i_sap-werks.
ENDIF.
w_insert_line = 'X'.
*-- Third Screen.
PERFORM bdc_dynpro USING 'SAPLMLSP' '0200'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSP'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSL'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSL'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSP'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ESLL-TBTWR(01)'.
PERFORM bdc_field USING i_ktext1 i_sap-txz01.
PERFORM bdc_field USING i_menge i_xleg-quant.
PERFORM bdc_field USING i_meins 'PU'.
PERFORM bdc_field USING i_tbtwr i_sap-netprice.
PERFORM bdc_dynpro USING 'SAPLMLSK' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ESKN-SAKTO(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING i_mkntm w_quant.
PERFORM bdc_field USING i_kostl w_costcenter.
PERFORM bdc_field USING i_sakto w_glaccount.
PERFORM bdc_dynpro USING 'SAPLMLSK' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ESLL-INTROW'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BACK'.
PERFORM bdc_dynpro USING 'SAPLMLSP' '0200'.
PERFORM bdc_field USING 'BDC_OKCODE' '=ESB'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSP'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSL'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSL'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPLMLSP'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ESLL-KTEXT1(01)'.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMM06E' '0120'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_transaction USING 'ME21'.
ENDIF.
ENDLOOP.
PERFORM close_group.
ENDFORM. " CREATE_BDC_SESSION
*& Form WRITE_RESULTS
FORM write_results.
WRITE: text-tx5, w_input_rec_count.
ENDFORM. " WRITE_RESULTS
*& Form OPEN_INPUT_FILE
FORM open_input_file.
OPEN DATASET p_input FOR INPUT IN TEXT MODE.
IF sy-subrc <> 0.
MESSAGE e000 WITH p_input.
ENDIF.
DO.
READ DATASET p_input INTO i_record_buffer.
IF sy-subrc <> 0.
EXIT.
ELSE.
SPLIT i_record_buffer-record_buffer AT c_delimiter INTO
i_leg-po_nm
i_leg-byrc
i_leg-vendor
i_leg-po_date
i_leg-cur
i_leg-zterm
i_leg-fob
i_leg-mat
i_leg-mat_pck
i_leg-quant
i_leg-u_meas
i_leg-del_date
i_leg-ven_mat
i_leg-net_pr
i_leg-ship_via
i_leg-del_loc
i_leg-dist_acc
i_leg-txz01
i_leg-recip
i_leg-line_cd
i_leg-comp
i_leg-line_num
i_leg-indicator
i_leg-projnbr
i_leg-works
i_leg-work_ord
i_leg-wbs
i_leg-cost_elem
i_leg-xref_wbs
i_leg-percent
i_leg-filler
i_leg-gl_act
i_leg-label
i_leg-iwg_warehouse
i_leg-cost_cen
i_leg-expence_cl
i_leg-tax_code
i_leg-quan_gr
i_leg-amt_gr
i_leg-quan_fi
i_leg-amt_fi
"Added by Naren Somen
i_leg-site.
* i_leg-flag
* i_leg-commit_amt.
APPEND i_leg.
ENDIF.
ENDDO.
DESCRIBE TABLE i_leg LINES w_input_rec_count.
CLOSE DATASET p_input.
ENDFORM. " OPEN_INPUT_FILE
*& Form OPEN_OUTPUT_ERROR_FILE
FORM open_output_error_file.
OPEN DATASET p_error FOR OUTPUT IN TEXT MODE.
IF sy-subrc <> 0.
MESSAGE e001 WITH p_error.
ENDIF.
ENDFORM. " OPEN_OUTPUT_ERROR_FILE
*& Form OPEN_GROUP
FORM open_group.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = p_sess
user = p_uname
keep = 'X'.
ENDFORM. " OPEN_GROUP
*& Form BDC_DYNPRO
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = w_flg.
APPEND bdcdata.
CLEAR bdcdata.
ENDFORM. " BDC_DYNPRO
*& Form BDC_FIELD
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
CLEAR bdcdata.
ENDFORM. " BDC_FIELD
*& Form BDC_transaction
FORM bdc_transaction USING tran_code.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = tran_code
TABLES
dynprotab = bdcdata.
CLEAR bdcdata.
REFRESH bdcdata.
ENDFORM. " BDC_TRANSACTION
*& Form CLOSE_GROUP
FORM close_group.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 0
queue_error = 0
OTHERS = 0.
ENDFORM. " CLOSE_GROUP
*& Form READ_XREF_TABLES
* text
* --> p1 text
* <-- p2 text
FORM read_xref_tables.
CLEAR i_sap.
PERFORM convert_pur_group USING i_leg-byrc.
PERFORM convert_vendor USING i_leg-vendor.
PERFORM convert_payterm USING i_leg-zterm.
ENDFORM. " READ_XREF_TABLES
*& Form CONVERT_PUR_GROUP
FORM convert_pur_group USING p_byrc.
SELECT SINGLE ekgrp FROM /bay2/u7emxrbuyr
INTO w_purgrp
WHERE system_id EQ c_185 AND leginp_cd EQ p_byrc.
IF sy-subrc EQ 0.
MOVE w_purgrp TO i_sap-ekgrp.
CLEAR w_purgrp.
ENDIF.
ENDFORM. " CONVERT_PUR_GROUP
*& Form CONVERT_VENDOR
FORM convert_vendor USING p_vendor.
DATA : w_venfamily(8) TYPE c,
w_vendor_temp(7) TYPE c,
wa_vendor TYPE /bay2/u7pxxrvend,
wa_vendor1 TYPE /bay2/u7pxxrvend.
CLEAR: w_vendor, w_venfamily, w_vendor_temp.
* Select with Full Vendor Number
SELECT SINGLE * FROM /bay2/u7pxxrvend INTO wa_vendor
WHERE leg_ven_num EQ p_vendor AND system_id = c_185.
IF sy-subrc EQ 0.
IF wa_vendor-ktokk EQ 'YKRD'.
MOVE wa_vendor-lifnr TO w_vendor.
ELSE. " IF YSUP
* Select the YKRD for corrusponding YSUP from WYT3
SELECT ekorg lifnr
INTO (wyt3-ekorg, wyt3-lifnr)
FROM wyt3
WHERE
lifn2 EQ wa_vendor-lifnr.
SELECT SINGLE lifnr
INTO w_vendor
FROM wyt3
WHERE lifnr EQ wyt3-lifnr AND
ekorg EQ wyt3-ekorg AND
parvw EQ 'LF'.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
ENDSELECT. " SELECT ekorg lifnr
ENDIF. " IF wa_vendor-ktokk EQ 'YKRD'.
ENDIF. " IF SY-SUBRC EQ 0.
IF w_vendor IS INITIAL.
* Select YKRD with Legacy Vendor Family Number
MOVE p_vendor TO w_vendor_temp.
CONCATENATE w_vendor_temp '%' INTO w_venfamily.
SELECT SINGLE * FROM /bay2/u7pxxrvend INTO wa_vendor1
WHERE leg_ven_num LIKE w_venfamily AND
ktokk EQ 'YKRD' AND system_id = c_185.
IF sy-subrc EQ 0.
MOVE wa_vendor1-lifnr TO w_vendor.
MOVE w_vendor TO i_sap-lifnr.
ELSE.
CONCATENATE p_vendor 'X' INTO i_sap-lifnr.
ENDIF.
ELSE.
MOVE w_vendor TO i_sap-lifnr.
ENDIF.
ENDFORM. " CONVERT_VENDOR
*& Form CONVERT_PAYTERM
FORM convert_payterm USING p_i_leg01_trms_code.
SELECT SINGLE zterm
INTO w_payterm
FROM /bay2/u7emcpterm
WHERE legpterm EQ p_i_leg01_trms_code AND system_id = c_185.
IF sy-subrc = 0.
MOVE w_payterm TO i_sap-zterm.
CLEAR w_payterm.
ENDIF.
ENDFORM. " CONVERT_PAYTERM
*& Form CONVERT_PLANT
FORM convert_plant USING p_works.
SELECT SINGLE werks FROM /bay2/u7smcpwerk
INTO w_plant
WHERE system_id EQ c_185
AND legwerks EQ p_works.
IF sy-subrc = 0.
MOVE w_plant TO i_sap-werks.
ENDIF.
ENDFORM. " CONVERT_PLANT
*& Form VENDOR_ADDRESS
* text
* --> p1 text
* <-- p2 text
FORM vendor_address.
REFRESH i_wyt3.
SELECT * FROM wyt3 INTO i_wyt3
WHERE lifnr EQ i_sap-lifnr
AND parza = c_partner_counter.
APPEND i_wyt3.
CLEAR i_wyt3.
ENDSELECT.
DESCRIBE TABLE i_wyt3 LINES w_address.
ENDFORM. " VENDOR_ADDRESS
*& Form ITEM_XREF_TABLES
FORM item_xref_tables.
PERFORM convert_plant USING i_xleg-works.
PERFORM convert_costcenter USING i_xleg-cost_cen
i_xleg-works.
PERFORM convert_glacc USING i_xleg-expence_cl.
MOVE: i_xleg-txz01(40) TO i_sap-txz01,
i_xleg-po_nm TO i_sap-po_nm,
i_xleg-filler+3(14) TO i_sap-netprice.
* i_xleg-commit_amt TO i_sap-commit_amt.
ENDFORM. " ITEM_XREF_TABLES
*& Form RECORD_COUNTER
FORM record_counter.
i_epstp-field3 = 1.
i_knttp-field3 = 1.
i_txz01-field3 = 1.
i_eeind-field3 = 1.
i_netpr-field3 = 1.
i_matkl-field3 = 1.
i_werks-field3 = 1.
i_ktext1-field3 = 1.
i_meins-field3 = 1.
i_menge-field3 = 1.
i_tbtwr-field3 = 1.
i_mkntm-field3 = 1.
i_kostl-field3 = 1.
i_sakto-field3 = 1.
i_ekpo_meins-field3 = 1.
i_ekpo_menge-field3 = 1.
w_count = 0.
ENDFORM.
*& Form LINE_ITEM_DATA
FORM line_item_data.
i_epstp-field3 = i_epstp-field3 + 1.
i_knttp-field3 = i_knttp-field3 + 1.
i_txz01-field3 = i_txz01-field3 + 1.
i_eeind-field3 = i_eeind-field3 + 1.
i_netpr-field3 = i_netpr-field3 + 1.
i_matkl-field3 = i_matkl-field3 + 1.
i_werks-field3 = i_werks-field3 + 1.
i_ekpo_menge-field3 = i_ekpo_menge-field3 + 1.
i_ekpo_meins-field3 = i_ekpo_meins-field3 + 1.
w_item = w_item + 10.
ENDFORM.
*& Form CONVERT_COSTCENTER
FORM convert_costcenter USING p_costcenter p_works.
CONCATENATE c_sq p_works p_costcenter c_zero INTO w_costcenter.
ENDFORM.
*& Form CONVERT_COSTCENTER
FORM convert_glacc USING w_expence_cl.
SELECT SINGLE kstar FROM /bay2/u7sxcrecce INTO i_kstar-kstar WHERE
leginp_cd EQ w_expence_cl.
MOVE i_kstar-kstar TO w_glaccount.
ENDFORM.
Thanks, -
Contacts/Calendar not synching
I sync with Exchange and also have personal contacts/calendar. Outlook has an Exchange mail/calendar account and I have two IMAP mail accounts plus my personal contacts/calendar. I can view both calendars in Outlook 2007 (Exchange & Personal). The problem is that my iPhone peronal calendar doesn't sync with Outlook personal calendar on the PC. If I add a personal calendar item to Outlook or the iPhone, I'd like the two to sync or merge. It's a similar situation with contacts.
I remember initially that I declined to merge these in iTunes. Is there a way to do the merge after the fact or do I need to try something else?Actually, I see there are four calendars in Outlook with non descript names:
- Calendar (Exchange)
- Calendar in Personal Folders
- Home in Personal Folders
- Home (this is the one I use)
Unchecking the middle two leaves the relevant calendars. I did a test by adding something to the personal calendar in Outlook and the iPhone then sync'ed. That worked perfectly. But what are the references to "...Personal Folders"?
Here are my contacts:
- Contacts
- Contacts in Personal Folder
- Vendors
- Family/Friends
- Work
I have contact groups on the iPhone left over from when I used Windows Live Mail. Do contact groups not work with Outlook?
Any suggestions on why Outlook contacts aren't syncing?
There's some weird stuff going on with contacts. I have a certain person on the iPhone that I don't see in Outlook. If I select "All Contact Items" and search on the person's name, I see them. Otherwise, they don't show up in Outlook. -
Foreach Loop only looping once
Hi,
Please be patient and bear with me, for I am new to SSIS packages.
I am using SQL Server 2008 R2 to host the SQL Agent job and the SSIS package.
I am using Visual Studio 2008 Professional Edition for designing the SSIS package. It is version 9.0.30729, Version 3.5 SP1.
I am on a Windows 8 machine.
My Foreach Loop Container seems to iterate only once when it should iterate numerous times, and this issue happens BOTH when I execute the SSIS package from within Visual Studio AND when I run a SQL Agent job to execute the SSIS package.
For the solution within Visual Studio, I have False for the property Run64BitRuntime.
In the SSIS pckg in Visual Studio, I have in the Variables pane a number of variables and these following variables pertain to my problem:
Name: objRs Scope: the name of the SSIS package DataType: Object Value: System.Object
Name: txtVendorFamilyNumber Scope: the name of the SSIS package DataType: String Value: 111111
The value "111111" that I entered into the txtVendorFamilyNumber variable in the Variable Pane is NOT a realistic value as there are no vendor family numbers that have the value 111111. I will populate dynamically the real vendor family numbers
from within the SSIS package.
When I imported the SSIS package to SQL Server 2008 R2, via the ellipsis button for the Protection Level I chose the "Rely on server storage and roles for access control" choice.
Concerning the flow of the SSIS package, going down within Visual Studio from the beginning of the flow of the SSIS package, eventually I have an Execute SQL Task. In its General tab, it has "1252" for CodePage property, "Full result set"
for ResultSet property, "OLE DB" for ConnectionType property, "Direct input" for SQL Source Type property, "False" for BypassPrepare property, and the following for the SQLStatement property:
select txtVendorFamilyNumber from tmpVendorFamily where VendorID = (select min(VendorID) from tmpVendorFamily)
In the tmpVendorFamily table on SQL Server 2008 R2, there are 379 rows of results for the SELECT statement above (starting with the values 100110, 100115, 100120, 100130, through the LAST row's value 106370.
In the Parameter Mapping tab of the Execute SQL Task Editor, I have nothing. In the Expressions tab of the Execute SQL Task Editor, I have nothing.
In the Result Set tab of the Execute SQL Task Editor, I have the value 0 for Result Name property and I have the value User::objRs as the value in the Variable Name property.
This Execute SQL Task has a green arrow (Constraint evaluation operation, Success in Value drop down) to the Foreach Loop Container.
In the Foreach Loop Editor, in the Collection tab, I have "Foreach ADO Enumerator" as the value in the Enumerator property. In the drop down for ADO Object Source Variable, I have chosen the User::objRs, and I have the radio button "Rows in
the first table" selected.
In the Foreach Loop Editor, in the Expressions tab, I have nothing.
In the Foreach Loop Editor, in the Variable Mappings tab, I have "User::txtVendorFamilyNumber" for the Variable property and I have the value "0" for the Index property.
So in the Foreach Loop, I first have a Script Task with the ReadOnly variable User::txtVendorFamilyNumber and with the ReadWrite variable User::TESTING_OnlyTesting that I created with a package scope, string datatype, and no default value. This Script Task
has the following code for testing purposes:
Dim strFullVerbiage As String
strFullVerbiage = "The value is: "
Dts.Variables("User::TESTING_OnlyTesting").Value = strFullVerbiage + Dts.Variables("User::txtVendorFamilyNumber").Value.ToString()
Dts.TaskResult = ScriptResults.Success
I have next in the Foreach Loop Container a Send Mail task. In the Expressions tab of the Send Mail Task Editor, I have for the Message Source property the following:
@[User::TESTING_OnlyTesting]
The remaining tasks (including FTP Tasks) in the Foreach Loop Container are disabled for now as I am trying to figure out why the Foreach Loop only iterates the FIRST time, only iterates once.
When I run on SQL Server 2008 R2 the SELECT statement from the Execute SQL Task, I get 379 rows of results. The default value 111111 that I entered into the Variable Pane for the txtVendorFamilyNumber variable does NOT exist in any of these 379 rows of results.
The 1st row of results has for the txtVendorFamilyNumber column the value 100110. Then the subsequent rows of results have the values 100115, 100120, 100130, et cetera, ending with the value 106370 in the last row of results.
I imported the SSIS package into Integration Services on SQL Server 2008 R2. When I imported to Integration Services, in the Import Package editor for the Protection Level I chose the "Rely on server storage and roles for access control" choice
because there are FTP Tasks and we needed to use this "Rely on server storage and roles for access control" choice.
I created a SQL Agent job that executes this SSIS package.
When I run the SQL Agent job, no error happens and I get only ONE email with the value 100110 for the vendor family number in it. I should get 379 emails total, the 2nd email showing 100115, the 3rd email showing 100120, et cetera.
When I was testing while executing the SSIS package from within Visual Studio, I did NOT have the Send Mail task and I only had enabled one Script Task that had the ReadOnly variable User::txtVendorFamilyNumber and the following lines of code:
MsgBox(CType(Dts.Variables("User::txtVendorFamilyNumber").Value, String))
Dts.TaskResult = ScriptResults.Success
Executing the SSIS package with only this Script Task enabled within the Foreach Loop Container, I would get the ONE message box showing 100110 but I would not get any message box for a SECOND ITERATION of the loop.
Since my txtVendorFamilyNumber in the Variables Pane has the default hard-coded value 111111 that does NOT exist in the result set of the Execute SQL Task that feeds the Foreach Loop, and since the first and only email sent shows the value 100110 when I
run the SQL Agent job that runs the SSIS package that is set up to send an email from within the Foreach Loop Container, the FIRST LOOP seems to run correctly and shows correctly the 1st value 100110 in the 379 rows of results that populate the Foreach Loop
Container. Why does the Foreach Loop Container NOT loop more than once?
Could anybody give me any suggestions as to what the problem might be?
I thank you in advance for your consideration of my problem. I have been reading and reading on the Internet to try to find a solution but I have not solved yet my problem with the Foreach loop only iterating once.
Thanks much to you.Gregarious greetings Arthur,
I very much appreciate your reply.
This morning I figured out my problem with the help of a fellow employee.
In my original post higher up, I had typed about the SELECT statement in the Execute SQL Task that is just before the Foreach Loop Container and that populates the User::objRs, and this SELECT statement was in the old DTS package in an old ActiveX script
task. The SELECT statement was in an old DTS package in an old ActiveX script task and I am creating a new SSIS package to replace the old DTS package so that we can move from the old version of SQL Server to a new SQL Server 2008 R2 server. Here is that
SELECT statement:
select txtVendorFamilyNumber from tmpVendorFamily where VendorID = (select min(VendorID) from tmpVendorFamily)
That SELECT statement above returns ONLY ONE result. I had not noticed it. That SELECT statement fills the objRs result set. The green arrow goes from the Execute SQL Task that has the SELECT statement down to the Foreach Loop Container that loops over the
result set. Since the SELECT statement that fills the result set only has one row of results, the Foreach Loop only looped once.
So for the Execute SQL Task that populates the result set User::objRs, I changed the SELECT statement to be the following:
--In the Utilities DB, this tmpVendorFamily table
--has only two columns named VendorID and txtVendorFamilyNumber.
SELECT DISTINCT txtVendorFamilyNumber
FROM Utilities.dbo.tmpVendorFamily
ORDER BY txtVendorFamilyNumber
Now the Foreach Loop will loop 379 times since the SELECT statement immediately above yields 379 rows of results.
So the Foreach Loop Container was fine. Its Collection tab has the "Foreach ADO Enumerator" for the Enumerator and has the "User::objRs" for the ADO Object Source Variable. Its Variable Mappings tab has "User::txtVendorFamilyNumber"
for the Variable and has "0" for the Index.
My problem was the SELECT statement in the Execute SQL Task that immediately precedes the Foreach Loop Container and that fills the User::objRs result set. The SELECT statement yielded only ONE row of results. When I corrected this morning that SELECT statement
so that it correctly yields 379 rows of results, the Foreach Loop Container loops 379 rows.
Thanks again for replying and trying to help. I very much appreciate it.
I consider this thread that I created to be closed since I figured out this morning how I needed to correct the SELECT statement in the Execute SQL Task that fills the result set on which the Foreach Loop loops.
Misko_Hviezdoslav 27-JAN-2015 -
APO Contract Mfg Supply Modeling to Account for a Hong Kong Location
Who knows the best practice with regard to the Hong Kong SC design into which we are forced for taxation reasons, and which can cause the replication plants (in HK) to match the number of CM's in China? Have you run into this?
The situation is multiple contract manufacturers in China, ten. We desire that a Vendor, not a Plant object in APO, represents the CM. ( A vendor object represents the vendor in ECC). We have one plant in HK through which all DC supply signals pass; we have this HK plant positioned to allow a Goods Receipt into a company code (taxation) AND to backflush the sub-con components earlier, a very important WIP-removal step prior to the 8 to 10 week ocean transit to the US or Europe. With many different DC's sending supply signals through the one HK plant and from that plant sent to one of many CMs as a sub-con PO, the subsequent deployment of containerloads back to the correct DC becomes a big problem. One tendency is to match a HK plant for each CM. We do not desire this approach due to the creation of many Plant (configurable) locations. I have been attempting to crack the code on this for some time and without success.
Do you know of a better solution or do you have a contact with whom I can discuss the best method for addressing this problem?
Craig.Dionnewould this help?? :-
If a subcontractor processes the same product for multiple plants, it is not sufficient to use the location type vendor, since the system cannot distinguish between these plants and would mix up the receipts and requirements of the plants. In this case, you use the location type subcontractor.
You create an individual location with the type subcontractor for each plant-vendor combination. You assign the plant for which the subcontracting occurs and the vendor in which the subcontracting takes place to this location.
Planning takes place in the location with the type subcontractor for the relevant plant-vendor combination. You can create a location with the type subcontractor for as many plant-vendor combinations as you like.
You create the location with the type subcontractor manually in the location master data maintenance in SAP APO. This location type is not integrated with SAP R/3. -
Is there a way to add multiple addresses to an outgoing email at one time from your contacts?
David,
I keep my Address Book on iCloud. If I type the name of the group into the "to" box on my iPhone, it does not imediately recognize the address. However, if I type the group name and then move on to another field (like subject), it seems to figure it out.
Just so you know, I have not had time to test it as I will need to create a "fake" group and send a couple of e-mails using that method....... I did not want to bother any of my vendors, family members, customers, etc If you have a chance to test this, please let us know. Otherwise I will try to remember to squeeze this into my "to-do" list for tomorrow....... well, I guess it would be later today at this point.
If someone has tried this already and knows whether it works or not, would you please let David and me know?
Hope it helps,
Bill
MacBook Pro (15-inch Late 2011), Mac OS X (10.8.2)
MacBook Pro, Mac OS X (10.7.5), 15in, 8GB RAM
Mac Pro, Mac OS X (10.7.4), Dual 3.2GHz Xenons- MANY upgrades
Mac Pro, OS X Mountain Lion (10.8.2), Mid-'12, 12-Core, 64GB RAM
iPad, iOS 5.1.1
iPad 2, iOS 6
iPhone 4, iOS 6
iPhone 4S, iOS 6 -
Difference between "account group" and "reconciliation account"
Hello,
I am new to SAP and I would like to understand the difference between the "account group" and the "reconciliation account" that appear both in the vendor master records.
From what I read, "account group" is just a classification but has no "accounting" impact whereas "reconciliation account" (goods suppliers, overhead expenses suppliers...) do have an accounting impact.
However I am not sure so I would like a confirmation on that and if possible examples so I could really understand.
Thank you.Hi,
The account group is a way to divide vendors into groups for reporting later on.
The account group is also the link to the number range and the field selection functionality.
Please refer the below link for more clarity.
http://help.sap.com/saphelp_46c/helpdata/en/53/c98647ca3711d2b494006094b9114a/frameset.htm
Account group
The reconciliation account is the account is the account which is posted to at invoice receipt stage where the vendor account represents the sub ledger and the reconcilation account the ledger.
Reconciliation Account
http://sapdocs.info/sap/fico/reconciliation-accounts-and-special-gl-indicator/
Hope it helps you.
Thanks. -
Hi,
I want to add filter object type for vendor number (LIFNR) for message type Cremas. I added already LIFNR with segment type E1LFA1M in BD59. But when I launch BD64 and I do not see vendor number in the filter set.
What happens? Is it because of vendor number represents as a key field thus unable to be used. Other non key fields have no problem. This is just my assumption.
Very appreciate of any helpful reply.
Thanks !
ChikaFor type E and W, the relevant message is normally returned and the variables are then stored in SY-MSGV1 to V4, if available. Not all messages have variables.
In case of an Abort (A) you will get a pop-up with the message. In case of Short Dump (type X), ypu will get an overview page in which will be explained what the problem triggered. -
hi all,
this is my interbal table ....
DATA: begin of t_ekpo1 occurs 0,
banfn like eban-banfn,
ebeln like ekpo-ebeln,
ebelp like ekpo-ebelp,
werks like ekpo-werks,
matnr like ekpo-matnr,
menge like ekpo-menge,
txz01 like ekpo-txz01,
meins like ekpo-meins,
zzissue_date like ekpo-zzissue_date,
s_menge(13) type c,
quan(13) type c,
end of t_ekpo1.
i am using control break event at the field...
at new banfn.
write:/ t_ekpo1-banfn.
endat.
write: t_ekpo1-ebeln.
if i am doing so then it writes only one item if there are 4 0r 5 0r 6.
but if i write
at new banfn.
write:/ t_ekpo1-banfn.
endat.
write:/ t_ekpo1-ebeln.
the diffrence betwee the two statement is of '/' . if i removw this it is not writting the value...but if it is there it writes...
so plz help on this...
regards
parulProgram ID : ZHIPMENT *
Author : *
Date : *
Run Mode : Online \ Background *
Frequency : ANY TIME *
Special run ] *
instructions ] *
Issue # : ? *
Copied From : *
Called From : *
Transaction : *
Input : *
Output : *
Description : *
M O D I F I C A T I O N L O G *
User ID|Date |Issue # |Transport |Description of change *
USER ID|DD/MM/YY|????-???? |CCDK9A1???|Initial Development *
REPORT ZHIPMENT NO STANDARD PAGE HEADING LINE-SIZE 175
tables: eban,
ekko,
ekpo,
eket,
ekbe.
Data Declaration *
*Internal table for purchase requistion
Data: begin of itab occurs 0,
ekgrp like eban-ekgrp, "purchasing group
werks like eban-werks, "plant
flief like eban-flief, "vendor#
reswk like eban-reswk, "supplying plant
meins like eban-meins, "Sku#
TXZ01 like eban-TXZ01, "product name
banfn like eban-banfn, "purchase requistion
bnfpo like eban-bnfpo, "item#
quan(13) type c, "open quantity
frgdt like eban-frgdt, "release date
lfdat like eban-lfdat, "Delivery date
ebeln like eban-ebeln,
matnr like eban-matnr,
end of itab.
*Internal table for purchase order
Data: begin of itab1 occurs 0,
ekgrp like ekko-ekgrp, "purchasing group
lifnr like ekko-lifnr, "vendor#
reswk like ekko-reswk, "supplying plant
bsart like ekko-bsart,
ebeln like ekko-ebeln, "purchase order
werks like ekpo-werks, "plant
matnr like ekpo-matnr,
menge like ekpo-menge,
TXZ01 like ekpo-TXZ01, "product name
ebelp like ekpo-ebelp, "item#
meins like ekpo-meins, "Sku#
eindt like eket-eindt,
s_menge like ekbe-menge,
quan(10) type c, "open quantity
ship_quan(10) type c, "ship quantity
unship_quan(10) type c, "unship quantity
ZzISSUE_DATE like ekpo-ZZISSUE_DATE,
end of itab1.
Data: begin of itab_req occurs 0,
ekgrp like eban-ekgrp, "purchasing group
werks like eban-werks, "plant
flief like eban-flief, "vendor#
reswk like eban-reswk, "supplying plant
meins like eban-meins, "Sku#
TXZ01 like eban-TXZ01, "product name
banfn like eban-banfn, "purchase requistion
bnfpo like eban-bnfpo, "item#
quan(13) type c, "open quantity
frgdt like eban-frgdt, "release date
lfdat like eban-lfdat, "Delivery date
matnr like eban-matnr,
end of itab_req.
DATA: Begin of t_ekko occurs 0,
ekgrp like ekko-ekgrp,
ebeln like ekko-ebeln,
lifnr like ekko-lifnr,
reswk like ekko-reswk,
bsart like ekko-bsart,
end of t_ekko.
DATA: begin of t_ekpo occurs 0,
ebeln like ekpo-ebeln,
ebelp like ekpo-ebelp,
werks like ekpo-werks,
matnr like ekpo-matnr,
menge like ekpo-menge,
txz01 like ekpo-txz01,
meins like ekpo-meins,
zzissue_date like ekpo-zzissue_date,
end of t_ekpo.
DATA: begin of t_ekpo1 occurs 0,
banfn like eban-banfn,
ebeln like ekpo-ebeln,
ebelp like ekpo-ebelp,
werks like ekpo-werks,
matnr like ekpo-matnr,
menge like ekpo-menge,
txz01 like ekpo-txz01,
meins like ekpo-meins,
zzissue_date like ekpo-zzissue_date,
s_menge(13) type c,
quan(13) type c,
ship_quan(13) type c,
unship_quan(13) type c,
end of t_ekpo1.
DATA: begin of t_ekbe occurs 0,
menge like ekbe-menge,
end of t_ekbe.
DATA: w_menge like eban-menge,
w_bsmng like eban-bsmng.
data: x_menge like ekbe-menge,
x1_menge type p decimals 2.
DATA : BEGIN OF zheadtab OCCURS 5. "text header
INCLUDE STRUCTURE tline.
DATA : END OF zheadtab.
DATA : pagno LIKE sy-pagno.
DATA : name LIKE sy-repid.
data: xmenge like ekbe-menge.
Selection screen *
SELECTION-SCREEN BEGIN OF BLOCK A WITH FRAME TITLE TEXT-S01.
SELECT-OPTIONS : S_ekgrp FOR eban-ekgrp,
s_matnr for eban-matnr,
s_werks for eban-werks,
s_bsart for eban-bsart,
s_lfdat for eban-lfdat,
s_frgdt for eban-frgdt,
s_flief for eban-flief,
s_reswk for eban-reswk.
SELECTION-SCREEN END OF BLOCK A.
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-S02.
PARAMETERS : P_both RADIOBUTTON GROUP A. "For both Po and Pur req.
PARAMETERS : P_req RADIOBUTTON GROUP A Default 'X' . "For Pur equsit'n
PARAMETERS : P_order RADIOBUTTON GROUP A. "For Purchase order
SELECTION-SCREEN END OF BLOCK B.
TOP-OF-PAGE.
PERFORM 100_top_of_page.
Start-of-selection *
START-OF-SELECTION.
if P_req eq 'X'.
perform get_purchase_data .
loop at itab_req.
if itab_req-quan gt 0.
write:/1 itab_req-ekgrp,
5 itab_req-werks,
12 itab_req-flief,
23 itab_req-reswk,
29 itab_req-meins,
33 itab_req-TXZ01,
72 itab_req-banfn,
97 itab_req-bnfpo,
109 itab_req-quan,
154 itab_req-frgdt,
166 itab_req-lfdat.
endif.
endloop.
endif.
if P_order eq 'X'.
perform get_requistion_data .
check sy-subrc eq 0.
loop at itab_req.
*value collected for recieved quantity
select sum( menge ) into (xmenge) from ekbe where ebeln = itab1-ebeln
and ebelp = itab1-ebelp
and werks in s_werks
and vgabe eq '1'.
check sy-subrc eq 0.
*S_menge is the value for goods recieved quantity
move xmenge to itab1-S_menge.
*value calculated for po open quantity
itab1-quan = itab1-menge - itab1-S_menge.
if itab1-quan gt 0.
*value collected for shipped quantity goods issued(x_menge)
select sum( menge ) into (x_menge) from ekbe where ebeln = itab1-ebeln
and ebelp = itab1-ebelp
and werks in s_werks
and vgabe eq '6'.
check sy-subrc eq 0.
*value calculated for shipped quantity
itab1-ship_quan = x_menge - itab1-S_menge.
*value calculated for unshipped quantity
*which is equl to the ordered quantity(ekpo-menge)
*and the goods issued (x_menge)
itab1-unship_quan = itab1-menge - x_menge.
write:/1 itab1-ekgrp,
5 itab1-werks,
12 itab1-lifnr,
23 itab1-reswk,
29 itab1-meins,
33 itab1-txz01,
86 itab1-ebeln,
97 itab1-ebelp,
109 itab1-quan,
126 itab1-ship_quan,
140 itab1-unship_quan,
154 itab1-zzissue_date,
165 itab1-eindt.
endif.
endloop.
endif.
if P_both eq 'X'.
select * from eban into corresponding fields of table itab
where ekgrp in s_ekgrp
And matnr in s_matnr
and werks in s_werks
and bsart in s_bsart
and lfdat in s_lfdat
and frgdt in s_frgdt
and flief in s_flief
and reswk in s_reswk
and ebakz NE 'X'
and loekz NE 'X'.
loop at itab.
select * from ekpo into corresponding fields of table t_ekpo
where ebeln = itab-ebeln.
loop at t_ekpo.
move t_ekpo-ebeln to t_ekpo1-ebeln.
move t_ekpo-ebelp to t_ekpo1-ebelp.
move t_ekpo-werks to t_ekpo1-werks.
move t_ekpo-matnr to t_ekpo1-matnr.
move t_ekpo-menge to t_ekpo1-menge.
move t_ekpo-txz01 to t_ekpo1-txz01.
move t_ekpo-meins to t_ekpo1-meins.
move t_ekpo-zzissue_date to t_ekpo1-zzissue_date.
move itab-banfn to t_ekpo1-banfn.
*value collected for recieved quantity
select sum( menge ) into (xmenge) from ekbe where ebeln = t_ekpo1-ebeln
and ebelp = t_ekpo1-ebelp
and werks in s_werks
and vgabe eq '1'.
check sy-subrc eq 0.
*S_menge is the value for goods recieved quantity
move xmenge to t_ekpo1-S_menge.
*value calculated for po open quantity
t_ekpo1-quan = t_ekpo-menge - t_ekpo1-S_menge.
if itab1-quan gt 0.
*value collected for shipped quantity goods issued(x_menge)
select sum( menge ) into (x_menge) from ekbe where ebeln = t_ekpo1-ebeln
and ebelp = t_ekpo1-ebelp
and werks in s_werks
and vgabe eq '6'.
check sy-subrc eq 0.
*value calculated for shipped quantity
t_ekpo1-ship_quan = x_menge - t_ekpo1-S_menge.
*value calculated for unshipped quantity
*which is equl to the ordered quantity(ekpo-menge)
*and the goods issued (x_menge)
t_ekpo1-unship_quan = t_ekpo1-menge - x_menge.
append t_ekpo1.
endloop.
endloop.
sort t_ekpo1 by banfn ebeln ebelp.
loop at t_ekpo1.
at new banfn.
write:/72 t_ekpo1-banfn.
endat.
write:/86 t_ekpo1-ebeln .
endloop.
endif.
*& Form 100_top_of_page
text
--> p1 text
<-- p2 text
FORM 100_top_of_page .
DATA : xdat1(10) TYPE c,
xdat2(10) TYPE c.
DATA prog_nm LIKE sy-repid.
prog_nm = sy-repid.
WRITE : s_lfdat-low TO xdat1 DD/MM/YYYY,
s_lfdat-high TO xdat2 DD/MM/YYYY.
MOVE 'H1' TO zheadtab-tdformat.
CONCATENATE 'Shipment Report Between'
xdat1
'and'
xdat2
INTO zheadtab-tdline SEPARATED BY space.
APPEND zheadtab.
CALL FUNCTION 'Z_HEADER'
EXPORTING
datum = sy-datum
pagno = sy-pagno
prog_title = sy-title
repid = prog_nm
uname = sy-uname
uzeit = sy-uzeit
TABLES
zheadtab = zheadtab.
format intensified on.
WRITE :/1 'Pur',
5 'Plant',
12 'Vendor',
23 'Sup',
29 'Sku#',
33 'Product Name',
72 'Purchase',
86 'Purchase',
97 'item',
109 'Open',
126 'shipped ',
140 'unshipped ',
154 'Release',
165 'Delivery'.
write:/1 'Grp',
23 'Plant',
72 'Requistion',
86 'order',
109 'Quan',
126 'quan',
140 'quan',
154 'Date',
165 'Date'.
Uline.
ENDFORM. " 100_top_of_page
*& Form get_purchase_data
text
--> p1 text
<-- p2 text
FORM get_purchase_data .
select * from eban into corresponding fields of table itab
where ekgrp in s_ekgrp
And matnr in s_matnr
and werks in s_werks
and bsart in s_bsart
and lfdat in s_lfdat
and frgdt in s_frgdt
and flief in s_flief
and reswk in s_reswk
and ebakz NE 'X'
and loekz NE 'X'.
sort itab by werks matnr.
loop at itab.
move itab to itab_req.
w_menge = eban-menge.
w_bsmng = eban-bsmng.
itab-quan = ( w_menge - w_bsmng ).
itab_req-quan = itab-quan.
append itab_req.
endloop.
ENDFORM. " get_purchase_data
*& Form get_requistion_data
text
--> p1 text
<-- p2 text
FORM get_requistion_data .
select ekkoekgrp ekkolifnr ekkoreswk ekkobsart ekko~ebeln
ekpowerks ekpomatnr ekpomenge ekpoTXZ01 ekpo~ebelp
ekpomeins eketeindt eketebeln ekpoZZISSUE_DATE
into corresponding fields of table itab1
from ekko inner join ekpo
on ekkoebeln = ekpoebeln
inner join eket
on eketebeln = ekkoebeln
and eketebelp = ekpoebelp
where ekko~bsart in s_bsart
and eket~eindt in s_lfdat
and ekko~ekgrp in s_ekgrp
and ekpo~matnr in s_matnr
and ekpo~werks in s_werks
and ekpo~loekz NE 'X'
and ekpo~elikz ne 'X'.
ENDFORM. " get_requistion_data
plz if someone can help on this
regards
parul -
If a mobile represents a user and a mac represents a family...
I've read these posts to death. Apple needs to get it together on this one. Lots of family's have a phone each but fewer ipads and macs. I would safely say most. I would also say most families want to pool their photos (yes flamers I'm sure you are different, but I'm speaking for "most" people right now).
Apple, why is it so hard to have multiple photo streams (apple id's running on different phones) automatically dl into a single mac?
I dont want some buggy, difficult to use work around. I want a bonafided apple quality, easy to use, works out of the box FIX to this. It's been to **** long and it should have worked right from the start! I want a preferences box to pop up and say, "good morning! I noticed you have a couple iphones that talk to this mac, would you like to automatically import both photo streams into iphoto?"
Apple, please fix this.
Thanks in advance!
Chris FaithTell that to Apple via http://www.apple.com/feedback/icloud.html and http://www.apple.com/feedback/iphoto.html
OT -
I was originally told by Verizon that if I joined, I can eventually take over the lines of various family members. Now that I've joined, and my family members all upgraded their phones and are on Edge, Verizon is telling us that we can't merge into one plan (because Edge lines can't be transferred to another account).
Is this true, and, if so, what is my recourse since I was lied to.Well, yes and no (as far as being lied to). I asked on several occasions (I have the chat transcripts to prove it) if there would be any issue if the lines were all already on Edge, and was told each time that under no circumstances would there be any issue. The latest being today (I know it's after the fact, but I wanted proof that this is what the chat people are saying). I asked "I have currently have an account with 3 phones on Edge. My brother and his wife, and my parents, also have plans all on Edge. I would like to 'take over' their lines. I want to make sure there is no issue with the Edge plan and that I can simply 'take over' their lines with no problems." I was told "Yes. That would be correct." Again, this is what I was told in the past as well (my original post didn't make clear the timing of the chats and upgrades to Edge..). Every time I chatted I mentioned that the accounts were going to be on Edge or (later on) were already on Edge. Even before my family members upgraded to Edge, not one single chat or phone representative (and my brother asked the same thing in a store) mentioned NOT to upgrade to Edge because it couldn't be transferred. Everyone just said yep, no problem. The ONLY reason I even joined Verizon (I was on Straight Talk) was because of the More Everything and Edge plans (we wanted a family plan with 6 people and over 10GB so we'd each save $25/line). Otherwise I never would have joined Verizon and my family wouldn't have upgraded either.
Maybe you are looking for
-
I did this and now my videos are not working. They show the pictures aren't there on some and on others it shows they are there, but doesn't show them in the player. When I try to Share anything it just says Waiting for Processing for hours. What do
-
This is a minsweeper in java but......
The programme runs(thank god) but if you try to be fast, the buttons doesn't correspond in time...like every button you press you have to wait 2 secs before pressing a button again. Why that happens?what's my code problem? Here is my code... //first
-
Outbound packing status is "Completed" before we pack in work centre
Hi, Once picking is completed (source and destination HU is same) immediately system says "packing completed" , in fact the next step is packing. Is it a right behavior in EWM? If i use outbound without storage process, how the packing status in ODO
-
Mac Pro (Late 2013), Photoshop CC stamp tools and Yosemite Problems
Lately when I'm using the the stamp tool in Photoshop CC after a few clicks I hear a short "click click" out of the Mac Pro Late 2013 when then goes on to freeze my keyboard and basically makes it useless. I then have to save the photo by clicking in
-
IDE/ATAPI Controller (PCI) for Blade 1000 ?
Hi everybody, I'm desperately seeking for a possiblity to add large storage capacity to a Blade 1000 workstation. I don't have this system yet, but I tend to buy it this week. As an alternative there would be a Blade 1500, which is full IDE/ATAPI. Bu