Question on interface for FB50

I am new to the ABAP world and a little confused on the interfacing of FB50. we currently have a ABAP process that reads a text file and submits the G/L data using FB01 and RFBIBL00. We would like to start using FB50 and I am reading that this is a enjoySAP transaction that does support batch input. I am also reading about interfaces to FB50 that use the bapi BAPI_ACC_DOCUMENT_POST and/or  BAPI_ACC_GL_POSTING_POST. Can I write a ABAP to read the text file and use one of the BAPI's to load data to the FB50 transaction? We would like to separate our loading processes so that we can use FB50, FB60, FB70 and move away from FB01 to load all of our data.

Submitting as background job:
<u>From SAP-Help</u>
Scheduling a submitable program as a background task with the number number in a background request name. After scheduling, the background task is completed by function module JOB_CLOSE and released immediately.
DATA: number TYPE tbtcjob-jobcount,
      name TYPE tbtcjob-jobname VALUE 'JOB_TEST',
      print_parameters TYPE pri_params.
CALL FUNCTION 'JOB_OPEN'
  EXPORTING
    jobname          = name
  IMPORTING
    jobcount         = number
  EXCEPTIONS
    cant_create_job  = 1
    invalid_job_data = 2
    jobname_missing  = 3
    OTHERS           = 4.
IF sy-subrc = 0.
  SUBMIT submitable TO SAP-SPOOL
                    SPOOL PARAMETERS print_parameters
                    WITHOUT SPOOL DYNPRO
                    VIA JOB name NUMBER number
                    AND RETURN.
  IF sy-subrc = 0.
    CALL FUNCTION 'JOB_CLOSE'
      EXPORTING
        jobcount             = number
        jobname              = name
        strtimmed            = 'X'
      EXCEPTIONS
        cant_start_immediate = 1
        invalid_startdate    = 2
        jobname_missing      = 3
        job_close_failed     = 4
        job_nosteps          = 5
        job_notex            = 6
        lock_failed          = 7
        OTHERS               = 8.
    IF sy-subrc <> 0.
    ENDIF.
  ENDIF.
ENDIF.

Similar Messages

  • Question about interface for recording electric guitar and vocals

    Ok, I've been messing around with Garageband all day, totally stoked and I'm ready to get into it. Right now I'm using a First Act quarter inch plug to USB cord to hook up my guitar and start recording and after some messing around I got it to work.
    Here's my question... to really make quality recordings, what's the best way to hook up the guitar? Is the way I'm doing it now fine with the USB cord or is some sort of interface better? Can someone recommend one that's on the cheap side? Also, I haven't tried yet, but what's the best way to record vocals? Should I invest in a USB mic? Can anyone recommend one? I have a Shure SM58 already, what's the best way to hook that up?
    Really excited about this, can't wait to start cranking out some songs!
    PS: When I use the USB cord, I don't see any way to control the recording level, and sometimes I get a Feedback control warning. How can I lower the level so I don't get that? Thanks!
    Message was edited by: xSlamx

    I have a total now of 4 interfaces - I recently purchased a FOCUSRITE SAPPHIRE 6 USB - it's amazing quality and I only paid $149 for it at my local Guitar Center. I use it with my Guitar and everything sounds fantastic - they say the preamps are really high-quality for Mics too... I recommend it. I have a firewire interface too but the Sapphire is my man baby now - don't let the USB 1.1 fool you - it works flawlessly with my Mac and my Windows 7 machine too. It also comes with a selection of software including Ableton Live Lite and 4 really nice Focusrite plug-ins too.

  • A more successful experiment in creating compositable user interfaces for Config Dialogs

    A couple weeks ago I posted an experiment in creating compositable user interfaces using transparent subpanels. The approach might best be described as, "It at least was notable for being novel."
    Today, I'm posting another attempt, this one along more traditional lines, and far more successful. Particularly notable: this one can do all the arbitrary composition of the last one AND it solves the TAB order problem.
    This solution uses a picture control and renders N copies of a control. When the user tabs to a control or moves the mouse over the control, a real control slides into that position to be able to catch the events (update mouse over draw state, highlight for keyboard focus, handle typing, etc). When the Value Change occurs, a master array of data is updated and the picture control is updated.
    This is something that has been attempted in various forms in the past, but there are two aspects of this particular implementation that make it nice:
    its programmatic interface for specifying the behavior of the various objects should make it fairly easy for a user of the framework to programmatically generate their dialogs
    it handles the TAB problem without flickering, something I haven't seen in other attemps
    This idea spawns out of conversation about the previous experiment -- thanks to those of you who posted on various forums, e-mailed me, or, in a couple cases, showed up at my desk. That last one is not something I'm encouraging unless you work at NI... just saying. :-)
    Now, this experiement has already yeilded some interesting conversation. We note that as long as controls are instantiated independent of each other -- that is, no property of one control depends upon the property of another control -- this dialog system scales nicely. But in this experiment, I implemented Radio Buttons, which interact with each other -- when one is set True, the others go False. As soon as controls start interacting with each other (such as graying out one control when a checkbox is toggled, or having expandable sections, or really complex cases like updating a graph as some options change, like happens in some Express VI config dialogs) then we start needing ways to refer to the other controls. This rapidly moves us in one of two directions: naming controls or creating references. The naming approach is definitely my preference as it fits better with dataflow and I can do some interesting effects with breaking apart some of the tree. But all of this quickly starts sounding like "Please implement a XAML parser in LabVIEW." For those of you unfamiliar with XAML, in the world of UI design, it might very well be the coolest thing since sliced bread. A XAML string would indeed fit with dataflow, and we could start building that up. I hesitate to head down this road for two reasons. One, as many have noted, there's really not a good XML parsing library written in LabVIEW that can give me a useful DOM tree. Two, that's a huge project and my gut sense is that you'd have to complete a fairly large chunk of it before you'd start seeing any return on investment. But it is worth thinking about -- I might be wrong. Wouldn't be the first time. This code that I've posted today can at least get you started on the generation side if one of you decides to become industrious.
    I'm turning my attention away from this project for now... coding in G is lots of fun, and I wish I could spend more days doing it, but this has been a side project and it's time to get back to my assigned projects in text programming. Building a powerful platform for automatic UI generation in LabVIEW would be really useful -- I see lots of requests for this sort of thing, and other languages are pulling ahead of us in this domain.
    [UPDATE 5/17/2012 - There is an improved version.]
    Solved!
    Go to Solution.
    Attachments:
    ConfighThroughCtrlCreation.zip ‏558 KB

    Elijah K wrote:
    Thanks for posting this Aristos.  I would normally be one of those to go bug you at your desk, but in case I'm not the only one with this question... which particular flickering problem are you referring to?  The act of switching tabs?  In all honesty, I've never noticed...
    When you move controls around on the screen, normally you try to Defer Panel Updates while you do that. But Defer Panel Updates has an effect on control's abilities to catch certain mouse clicks, so when you're trying to move a control to catch the mouse, you have to work a lot without Defer Panel Updates, so if you're adjusting captions, etc, to match the new location, you can see flicker as properties adjust. You can move the control off-screen, as long as you have already updated the picture control to reflect the changes. It took a while to catch all the ways that the flickering can crop up. I think I got 'em all.
    Attached are the VIs saved for LV 2009. Actually, they're saved for LV 8.6, but it doesn't work in 8.6 because of a bug in the picture control that existed back then.
    Attachments:
    ComposableUI_LV2009.zip ‏391 KB

  • How to prevent JaxB creation of 2 Interfaces for each Element?

    hi,
    does any body know how to prevent JaxB creation of 2 Interfaces for each Element (The Content Interface and the element interface)?
    I want to configure JaxB to use only one Interface and only one implementation Class.
    Thank's,

    I am sorry I can not answer your question, I have got the same problem. Could you please email me to
    [email protected] when you know the answer, please.
    I have a question for you. When and complex type is validated, I get the object which contains the error. ( or objects ).
    However. How do know the position in the actual parent object. basically. Is there a way to know exactly the position of that attribute in that object. I need to store errors strings.
    The first problem derives from this one:
    It is not possible to execute validate function for a primitive attribute inside an structure.
    I would appreciate your help.
    Thanks.
    Gustavo.

  • Few Questions on interfaces...

    Hi all,
    I have a few questions on interfaces...can any one provide the solutions for these please..
    - What are physical and logical file paths and names.
    - how do we recognize whether the files are stored in Application server or presentation server
    - What are external system id's and where are they used.
    - How to access application server.
    And can any provide the detailed flow of a interface with the ABAP terminology.
    Thanks
    Zaf

    Zafeer,
    Physical path is actual path of machine eg.
    192.156.121.12
    Logical path is logical name attahced to it. eg FileServer.
    When u create file port u will refer to logical path which in turn will refer to physical path.
    If ur physical path is pointing to application server then its application else it will be to presentation server. It can be determined only looing at address mentioned in physical path.
    External systems id...?
    I didnt get this question. Probably it is IP  of external machine in context of physical n logical path.
    To access application server, u create one folder on application server & share it. U can ask basis guys to do it for u.
    Hope it helps.
    Regards
    Sushil

  • Abstract asynchronous message interface for fault (exception) messages

    Hi,
    Has anyone yet discovered how to create an abstract asynchronous message interface for a fault message so that said message can be referenced in an Integration Process? I am currently at a loss as to how to reference the exception message returned by a synchronous RFC call, and how to return the fault message of a synchronous MI from a BPM.
    Thanks for any help you can provide on this issue - please do not refer me to existing blogs or forum messages if they do not specifically answer this question in a positive manner. I have just been through the SAP Notes and the SDN forum and Google and while I have seen many questions about this topic I have not seen any answers. 
    Stephen

    hi stephen,
    never worked on this but out ofcuriosity after seeing ur question i tried to  create one:
    but i found these:
    fault message types will only be used in case of synchronous messages.....if it is asynchronous the fault message type radio button it self will not seen while creating message interface..just check.
    you need to create a Fault message type to use it in an interface...u can add your own fields also if u want.
    in your present case you mentioned you are using synchronous RFC...try creating a synchronous abstract interface there you can give fault message type also...just check by creating one...
    correct me if i am wrong...
    regards.

  • BAPI's for FB50,FB60,KB31N and KP46

    Hi
    Can any one suggest me BAPI function modules for FB50,FB60,KB31N and KP46
    Transaction codes
    Thanks in advance

    For FB60 we used
    AcctngInvoiceReceipt.BAPI_ACC_INVOICE_RECEIPT_POST
    For FB50 we used
    AcctngDocument.Post
    These can be found under Accounting General, Accounting Interface in the BAPI explorer
    We have not used the others.
    Laurie

  • How do I set up the port interface for the WAN side of my RVS4000 to 100T Full Duplex?

    How do I set up the port interface for the WAN side of my RVS4000? The ISP says I need to set it to 100T Full Duplex, but where would I do that? In the Router's administration GUI I can't find any options to make such settings for the WAN side.

    The setup of the folders in Finder is entirely up to you. Whatever suits your needs is what you should do. Lightroom will be fine no matter how you set it up.
    So I'm not really sure what your question is.

  • Best practice: interface for editing documents

    Hello
    I use IDeveloper 11g 11.1.1.3.0, ADF Faces
    I have got a task to create a web interface for editing documents.
    Every document have a head and a specification.
    Head have a lot of field, and every row in a specification have a lot of fields also.
    There are few PL/SQL procedures I need call to save document in the database, and I need to call them in the single transaction for it.
    So, I need to fill up all document and only after that save it to the database.
    For fill up some of fields I need to use component like List of Values (with autoSuggestBehavior and with selecting value from the list).
    There is next question: what is the best practice to develop interface like this?
    I had some troubles when I tried to use ADF BC.
    May be, there are tutorials?
    Will be very thankful for any advices or links.
    Anatolii

    Hello
    I use IDeveloper 11g 11.1.1.3.0, ADF Faces
    I have got a task to create a web interface for editing documents.
    Every document have a head and a specification.
    Head have a lot of field, and every row in a specification have a lot of fields also.
    There are few PL/SQL procedures I need call to save document in the database, and I need to call them in the single transaction for it.
    So, I need to fill up all document and only after that save it to the database.
    For fill up some of fields I need to use component like List of Values (with autoSuggestBehavior and with selecting value from the list).
    There is next question: what is the best practice to develop interface like this?
    I had some troubles when I tried to use ADF BC.
    May be, there are tutorials?
    Will be very thankful for any advices or links.
    Anatolii

  • Question about Interface

    Hi everyone,
    I have a question about interface :
    an interface can only have abstract methods, right ?
    so how come ResultSet (which is an interface) has methods like next() which can't be abstract otherwise it wouldn't do anything ?
    thanks for answering !

    an interface can only have abstract methods, right ?Yes. All methods in an interface are inherently public and abstract.
    so how come ResultSet (which is an interface) has
    methods like next() which can't be abstract otherwise
    it wouldn't do anything ?It defines the next() method for classes that implement the interface. When you get a ResultSet reference returned from a method call, you're not getting a reference to an interface; you're getting a reference to an object that implements that interface (or null, as the case may be).

  • Do we need to create message interfaces for idocs and rfcs thatare imported

    do we need to create message interfaces for idocs and rfcs thatare imported
    from sap server
    in scenarios from sap system to file or vice versa
    i knew that we need not create message types
    do we also skip creating message interfaces

    hi,
    you create an abstract message interface for IDOC only if you want to use
    them in a BPM (integration process)
    for more about IDOCs have a look at my book:
    <a href="/people/michal.krawczyk2/blog/2006/10/11/xi-new-book-mastering-idoc-business-scenarios-with-sap-xi"><b>Mastering IDoc Business Scenarios with SAP XI</b></a>
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • FAQ: BC-LDAP-USR (Directory Interface for User Management via LDAP )

    Version: 20060317
    Q: Where can i find more information to the BC-LDAP-USR interface ?
    A: Have a look on our ICC webpage in the SDN:
    SAP NetWeaver AS - Directory Interface for User Management via LDAP (BC-LDAP-USR)[1] [original link is broken]
    Q: What costs a arising when we want our product to be certified ?
    A: See also our SDN page under the headline "Price List".
    Q: Is there a link/page for the already certified products for this interface ?
    A: Sure, have a look on our ICC page under the headline "Certified Solutions"
    Q: Who can we ask in case of general question ?
    A: Have a look at our general ICC forum:
    SAP Integration and Certification Center (SAP ICC)
    Of course, if you have urgent requests you can send them also directly to our local ICC's:
    ICC Walldorf in Germany: [email protected]
    ICC Palo Alto in USA: [email protected]
    ICC Bangalore in India: [email protected]
    Q: Who can we ask in case of technical questions ?
    A: This depends on the state of your certification project.
    1.) If the certification contracts have been signed then you can ask in this forum and if this does not solve your question go back to your assigned integration consultant.
    2.) When the certification contracts have not been signed then you can ask questions in this forum.

    I distinguish it using the passwordExpirationTime(or something like that, i don't have code here with me).
    This is possible if after password is expired user has at least one more access.It is a user policy that can be set in the Ldap server.
    If it is possible, user can still login and perform operations.You chan search the passwordExpirationTime attribute and determine if password is expired, and the send a message to the user, telling him to change it.(If only one access is allowed and you change the password with the same application or service then do not close context, else you should not be able to connect again.) Instead, if you use an external script, then the last acces should not give you problems.
    Hope i made myself clear.

  • HRMS database Interface for Timecard Data

    I am new to working with the Oracle Apps database. I need to setup an interface to send time card data from a third party app into the HRMS system. The data I have consists of an Employee Identifier (Can be set to match the HRMS employee identifier), Payroll Cycle Date, Hours Classification (Regular, Overtime, Double Time, etc), and the number of hours for that classification.
    What would be the best method/API for accomplishing this? I am aware of Data Pump, BEE, and direct API calls as ways to do this, but am unsure about which one is best/easiest to use. For APIs, which one would be best for me to use?
    Thank you in advance for any information / ideas that you have.

    Thanks for your help so far...I have two more questions for you
    Where can I find/download HRMS Family Pack K?
    Does the BEE Interface have API's that can feed it? And if so, is there any examples of using that API interface for me to look at? Also, is there documentation available that can help me use that API?
    Sorry for asking so many simple questions...And thank you very much for your assistance!
    Bran

  • Making BDBG Easy (Generate ALE Interface for BAPI)

    <b>Making BDBG Easy</b>
    Transaction BDBG is used to generate an ALE interface for SAP standard or custom developed BAPIs. Once a BAPI is given an ALE interface, it can be used in LSMW for migrating data or just as another IDoc. Quite a few SAP standard BAPIs cannot be used in LSMW as they do not come with an ALE interface. OSS note Documentation on Transaction BDBG (note number 125776) details the necessary steps to use transaction BDBG but it does not comprehensively cover the technical issues that one may encounter in order to create an ALE interface.
    BAPI_ACTIVITYCRM_CREATEMULTI, which is used to create Activities in CRM, will be used to illustrate a step-by-step approach to using transaction BDBG.
    Go to Object Navigator (transaction SE80) and create a bespoke function group, we will call ours Z_CRM_ACTIVITY. Activate it.
    Then go to Function Builder (transaction SE37), and copy the BAPI to a bespoke function module. Thus, BAPI_ACTIVITYCRM_CREATEMULTI is copied to Z_BAPI_ACTIVITYCRM_CREATEMULTI and assigned to the function group that we created in the previous step – Z_CRM_ACTIVITY. Edit the bespoke function module, go to the Attributes tab, and release the function module (<i>Menu Path – Function Module >> Release >> Release</i>). Now activate the function module.
    IDoc segment types have a maximum length of 27 characters. Each associated type for the Parameters (tabs – Import, Export, Changing, and Tables) in a BAPI becomes a segment in the IDoc. Thus, an associated type in a BAPI cannot exceed 27 characters. During the ALE generation process anything beyond the 27th character gets truncated. This leads to more than 1 segment being called the same, and as a result an error occurs when the ALE interface is generated in the final step as an IDoc cannot have the same segment twice.
    Eg: Table parameters DATE and DATEX correspond to types BAPIBUS20001_APPOINTMENT_INS (28 characters long) and BAPIBUS20001_APPOINTMENT_INSX (29 characters) respectively.
    Also, a developer does not have the option to reduce the segment name during the ALE generation process. So in order to have an error free ALE generation happening in the end, bespoke associated types need to be created and assigned to our bespoke BAPI.
    Go to ABAP Dictionary (transaction SE11), and create ZXXXXXXXXXXXXXXXX data types for the structures in the BAPI that are greater than 27 characters. Activate all these bespoke structures.
    Bespoke structures – ZBAPIBUS20001_APP_INS and ZBAPIBUS20001_APP_INSX can be used in lieu of the standard SAP ones for parameters DATE and DATEX. The same correction method needs to take place for other excessively long types, like the types being referenced by LOCATION and LOCATIONX.
    Go to Business Object Builder (transaction SWO1). A search for Activity as the short description produces a few hits. After examining all the objects returned in the hit, we see that BAPI_ACTIVITYCRM_CREATEMULTI belongs to 2 Business Objects - BUS2000110 (CRM Activity) and BUS2000126 (CRM Business Activity).
    Copy either of these objects to a bespoke object ZXXXXXXXXX, we will copy BUS2000110 and rename it to ZBUS200010, program RBUS2000110 should also be copied to a Z version (ZRBUS2000110), and the object name can be changed to Company Name (eg: XXX) followed by ActivityCRM (XXXActivityCRM).
    Now we edit our bespoke object, and create a method for it by placing the mouse cursor on methods in the object type tree and clicking the create button on the menu bar.
    A pop-up appears on the screen with the following text –
    <i>Create with function module
    as template? </i>         
    After clicking on Yes, another pop-up asks for a function module to be entered, enter the bespoke function module Z_BAPI_ACTIVITYCRM_CREATEMULTI here and click the tick button.
    Accept all the default values in the next pop-up – Create Method: Method Properties, and do the same for the next pop-up – Create Method: Create Parameters. In the next pop-up click Yes to the question –
    <i>Method ZBAPIACTIVITYCRMCREATEMULTI not
    yet implemented                       
    Do you want to generate a template    
    automatically for the missing section?</i>
    Double-click on the newly created method and go to the ABAP tab, the Function Module option will be selected as the default, make the API function as the default and click OK. Generate the business object.
    Now, click on the method of the object and release the method (<i>Menu Path – Edit >> Change Release Status >> Object Type Component >> To Released</i>). Double-click on the method to confirm that the Status is released.
    Save all the changes made, and Back out of the Edit mode and go the main Business Object Builder screen. Re-generate the business object. First implement, then release the main object ZBUS200010 (<i>Menu Path – Object Type >> Change Release Status To >> Implemented, then follow the same menu path and click on Released</i>).
    Go to the BAPI Explorer (transaction BAPI), click on the filter icon on the menu bar, and select radiobutton – All. Click on the alphabetical tab. Look for XXXActivityCRM in the list. Release status should be Released for this object.     
    Now we should be able to generate the ALE interface for the BAPI. Execute transaction BDBG, enter the bespoke object (ZBUS200010), do a drop down on the method field and select the bespoke method from the list. Click on the create button on the menu bar. In the first pop-up accept Message Type ZBAPIACTIVITYCRM and click OK. In the next pop-up the following values should be there by default –
    IDoc type – ZBAPIACTIVITYCRM01,
    ALE Outbound Processing
    Function Module – ZZ_ALE_ACTIVITYCRM_CREATEMULTI,
    Function Group – Z_CRM_ACTIVITY, and
    ALE Inbound Processing
    Function Module – ZIDOC_INPUT_ZBAPIACTIVITYCRM,
    Function Group – Z_CRM_ACTIVITY.
    The option – Call in update task – should be ticked.
    Now our BAPI has an ALE Interface to it and can be used in conjunction with either the BAPI or IDoc option in LSMW. The default values for an IDoc Inbound Processing should be maintained in order to use the bespoke BAPI / IDoc.

    Great

  • Question on Blend For Visual Studio 2012

    Hi,
    I am using "start here Visual Basic 2012" I am making an animated picture with a button. the button, when pushed will cause a picture of a chicken to move. 
    On page 118 it says to double-click the Click event handler text box for the button which I did in Blend. Blend is then suppose to open up Visual Studio  to the code editor for the button, which it does, however it opens up in .cs instead of .vb like
    the book shows.
    Does anyone know how to fix this issue, I would guess its simply a setting that needs to be changed but I have no idea what setting or if its in Blend side or the Visual Studio side
    thanks
    Dave

    This is a useless answer - I have to agree with most of the posters here I am FED UP with Microsoft. The link that is presented in the Blend start page (mentioned in the post above) is this one
    http://msdn.microsoft.com/en-US/expression
    However when you go to that link the Download for the Blend + Sketchflow preview is no longer active and the 2012 link takes you to the VS 2013 page. In other words the download is no longer available - or if it is MS has hidden it somewhere in the bowels
    of its website where you can't find it.
    Bottom line if you have 2012 you are forced to do yet another massive download of 2013 - and then pay for it.
    Microsoft is now officially worse than Adobe (and that is saying a lot). Moving the furniture in their OS, on their website, half the links in Google point to pages that are no longer relevant because things have been moved or changed.
    Maybe someone at Microsoft should take a closer look at the thousands of ISV's out there who make their living from developing MS apps. I have now spent a week of unproductive time just trying to setup an environment to deliver a solution. My client is not
    interested in problems MS - he wants results - so we pick up the vlak on behalf of MS with no where to go other than these less than useless forums.
    What is the actual status of Visual Studio and Interface design tools? I have been to hundreds of pages including Wikipedia which actually gave the most information and I still can't answer this question. I want to build a WPF app an design a Rich interface
    for it - I have every version of VS (6, 2003, 2005, 2008, 2010 and 2012) - what do I need to do what I need to do?????

Maybe you are looking for

  • IMessage confusion! HELP!

    Hello all! I have an iPhone 5, which is on my families plan which contains 5 iphones all linked by the same apple id. for some reason, my mother and father's messages are getting mixed up. say I send my father a text message, he will get it, but so w

  • New firefox 10.0 wont let me open mult windows, only tabs

    new firefox 10.0 wont let me open mult windows, only tabs. I have looked at tools/options/tabs and the open new windows in tabs is not clicked. have rebooted computer with no better results

  • At max how many logical columns can be created in RPD

    Hi All, At max how many logical columns can be created in RPD. I have a requirement of creating 200 columns. Will there be any problem . Is there any predefind number of columns for RPD creation?? Please help ..

  • Acsm files not supported

    when i try to download e-book it ask save/open when i click either it says acsm files not supported what am i doing wrong as it was working several weeks ago

  • Convert DateTime to TimeStamp

    Hello all how can i convert this DateTime type value 20060610000000.000000+000 to TimeStamp Value ? Thanks